看板 Database 關於我們 聯絡資訊
DBMS ? ※ 引述《ckmarkhsu (深藍站長)》之銘言: : 環境大概是這樣,我有兩個 Table : TableA tableAID (主鍵) : title : ....etc : TableB tableBID (主鍵) : tableAID : done : TableA 與 TableB 是關聯式(唔這樣用詞對嗎?),以 tableAID 做連結 : 一筆 TableA 的紀錄會有五筆 TableB 紀錄 : 我的查詢條件為,只有在 tableA 之所有 tableB done = 1 時,才列出 : 我的寫法是 : SELECT * FROM TableA : LEFT JOIN TableB USING (tableAID) : WHERE done = 1 : 但這樣似乎不對,請問應該如何寫才是正確的^^" SELECT * FROM `TableB` LEFT JOIN `TableA` ON `TableB`.`tableAID` = `TableA`.`tableAID` WHERE `TableB`.`done` = '1' -- Linux is for people who want to know why it works. Mac is for people who don't want to know why it works. DOS is for people who want to know why it does not work. Windows is for people who don't want to know why it does not work. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.173.193
ckmarkhsu:抱歉,忘記說是 MySQL 4.0.27 05/08 12:53
ckmarkhsu:唔 您這個方法會將 tableA 的同一筆記錄輸出很多次 05/08 12:59
ckmarkhsu:不知道能否只輸出一筆不重複的紀錄 :) 05/08 13:01
starjou:反過來用 A LEFT JOIN B 05/08 13:10
ckmarkhsu:我 AB 雙向都是過了XD 都會跑出好多筆 05/08 13:20
JoeHorn:方法是人想的,可以用 UNIQUE() .... 05/08 14:12
starjou:tablaID 是 TableA 的主鍵,怎可能好多筆呢? 05/08 17:55