作者SmallBeeWayn (喵喵叫的蜜蜂猫)
看板Database
标题[SQL ] 双层的WHERE IN?
时间Wed Mar 30 01:40:12 2011
资料库: 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
1F:→ danielguo:tb 拆成两个表比较好 03/30 03:15
2F:→ danielguo:(如果 tb 没有其他栏位的话,改成不用 multi-value 便可) 03/30 03:21
3F:→ SmallBeeWayn:其实我已经这麽做了,不过还是想知道解法 03/30 09:11