0
我遇到了從(僞)完全連接獲取正確結果的問題。所以我創建了一個示例表來說明問題。我創建了一個測試數據庫(TESTDB)兩個表如下:MySQL完全加入Where子句給出不正確的結果
CREATE TABLE `TestDB`.`MyTable` (`Leg1` VARCHAR(10) NOT NULL , `Leg2` VARCHAR(10) NOT NULL , `Leg3` VARCHAR(10) NOT NULL) ENGINE = InnoDB;
CREATE TABLE `testdb`.`MyChair` (`Back1` VARCHAR(10) NOT NULL , `Back2` VARCHAR(10) NOT NULL , `Back3` VARCHAR(10) NOT NULL) ENGINE = InnoDB;
(:-P),並把一些價值在那裏如下:
MyTable的
和MyChair
現在,我使用下面的SQL語句:
SELECT * FROM `mychair` LEFT JOIN `mytable` ON mytable.Leg1 = mychair.Back1
UNION
SELECT * FROM `mychair` RIGHT JOIN `mytable` ON mytable.Leg1 = mychair.Back1
WHERE mytable.Leg1 = 'A'
這應該給我一個行,但實際上給了我兩個好像被忽略的條件(見下文)。
我的語法有問題嗎?
這是你的設計。修復'MyTable'的表結構來存儲轉換後的值 – GurV
@GurV不確定你的意思。這是一個簡單的結構,應該適用於任何查詢。 – Chiwda