[SQL ] 雙層的WHERE IN?

看板Database作者 (喵喵叫的蜜蜂貓)時間14年前 (2011/03/30 01:40), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/3 (看更多)
資料庫: MySQL 5.1 範例表格: ta aIndex aValue 1 a1 2 a2 3 a3 .... ....(以此類推) tb bIndex bValue 1 1,3,5 2 2,3 3 2,5,7,8 我想要得到這樣的結果: bIndex aIndex aValue 1 1 a1 1 3 a3 1 5 a5 3 2 a2 3 5 a5 3 7 a7 3 8 a8 使用下列的語法: SELECT `bIndex`,`aIndex`,`aValue` JOIN `ta` ON (`ta`.`aIndex` IN (`tb`.`bValue`)) WHERE `bIndex` IN (1,3) 結果卻得到這樣的結果: bIndex aIndex aValue 1 1 a1 3 2 a2 請問我該怎麼修正? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.180.163

03/30 03:15, , 1F
tb 拆成兩個表比較好
03/30 03:15, 1F

03/30 03:21, , 2F
(如果 tb 沒有其他欄位的話,改成不用 multi-value 便可)
03/30 03:21, 2F

03/30 09:11, , 3F
其實我已經這麼做了,不過還是想知道解法
03/30 09:11, 3F
文章代碼(AID): #1DaXb_kj (Database)
文章代碼(AID): #1DaXb_kj (Database)