Re: [SQL ] 雙層的WHERE IN?
※ 引述《SmallBeeWayn (喵喵叫的蜜蜂貓)》之銘言:
: 資料庫: 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
: 請問我該怎麼修正?
建議將tb拆開成多筆
bIndex bValue
1 1
1 3
1 5
2 2
2 3
3 2
3 5
3 7
3 8
之後再table join就可以了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.72.246
討論串 (同標題文章)