作者daidaibruce (低调)
看板Database
标题Re: [SQL ] 双层的WHERE IN?
时间Wed Mar 30 21:18:57 2011
※ 引述《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