我有下面的代碼:MySQL的奇聯袂發行
select DB.T1.ID,
DB.T1.B,
DB.T1.C,
DB.T2.ID,
DB.T2.B,
DB.T2.R,
DB.T3.ID,
DB.T3.Q
DB.T1.DUP,
DB.T2.DUP,
DB.T3.DUP
from DB.T1, DB.T2, DB.T3
where DB.T1.id = DB.T2.ID
and DB.T1.id = DB.T3.ID
and DB.T2.id = DB.T3.id
and DB.T1.DUP = 'not_duplicate'
and DB.T2.DUP = 'not_duplicate'
and DB.T3.DUP = 'not_duplicate'
;
輸出返回0行,但是。所以,我將每個表中「DUP」列的值從duplicate/not_duplicate改爲0/1。我試過這段代碼,它的工作原理如下:
select DB.T1.ID,
DB.T1.B,
DB.T1.C,
DB.T2.ID,
DB.T2.B,
DB.T2.R,
DB.T3.ID,
DB.T3.Q
DB.T1.DUP,
DB.T2.DUP,
DB.T3.DUP
from DB.T1, DB.T2, DB.T3
where DB.T1.id = DB.T2.ID
and DB.T1.id = DB.T3.ID
and DB.T2.id = DB.T3.id
and DB.T1.DUP = 1
and DB.T2.DUP = 1
and DB.T3.DUP = 1
;
第二個代碼很完美,第一個代碼返回0行。有誰知道爲什麼會發生這種情況?值「not_duplicate」和「duplicate」與我從數據庫中導入的csv完全相同。我無法解釋爲什麼會出現這種情況,我真的很好奇。
非常感謝!
該列的數據類型是什麼? – Taryn 2013-02-14 22:24:16
它是VARCHAR(255)。 「DUP」列是每個表格的每一行中的最後一列,如果這會產生任何區別... – user7186 2013-02-14 22:26:48
varchar但您在其中存儲了什麼? 1還是not_duplicate? – 2013-02-14 22:28:01