[SQL ] 查詢問題請益

看板Database作者 (123)時間13年前 (2012/09/16 22:52), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
版友們好,想請教一下: Table1 (表格一) ID part1 part2 part3 1 A1 2 B1 B2 3 C1 C2 C3 Table2 (表格二) part partName A1 nameA1 B2 nameB1 B2 nameB2 C1 nameC1 C2 nameC2 C3 nameC3 我需要帶出表格二的partName,所以我做了: SELECT ID, part1, part2, part3, partName FROM Table1 LEFT JOIN Table2 on ( part = part1 OR part = part2 OR part = part3 ) 查詢結果: ID part1 part2 part3 partName 1 A1 nameA1 2 B1 B2 nameB1 2 B1 B2 nameB2 3 C1 C2 C3 nameC1 3 C1 C2 C3 nameC2 3 C1 C2 C3 nameC3 到這裡都是我想要的, 但是接著我查詢partName時, 例如我想查詢 partName = nameB1 所以我做了: SELECT ID, part1, part2, part3, partName FROM Table1 LEFT JOIN Table2 on ( part = part1 OR part = part2 OR part = part3 ) WHERE partName = 'nameB1' 查詢結果: ID part1 part2 part3 partName 2 B1 B2 nameB1 想要的結果: ID part1 part2 part3 partName 2 B1 B2 nameB1 2 B1 B2 nameB2 想請教該用什麼辦法做到呢? 一點點提示也可以,拜託了orz... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.136.164

09/17 02:01, , 1F
你的現制partName = 'nameB1',nameB2 當然不會出來
09/17 02:01, 1F

09/17 02:03, , 2F
而且結果nameB1也選出來 不就是你要的? 不太懂問題..
09/17 02:03, 2F

09/17 02:23, , 3F
把Table2先用子句把partName='nameB2'選出來之後再L join
09/17 02:23, 3F
文章代碼(AID): #1GLUUNw4 (Database)