1
我想执行内部联接桌子上,基于它的值,如:SQL JOIN表2 ON table2.value在(table1.value)
SELECT table2.value FROM table1
INNER JOIN table2 ON table2.key IN (table1.value)
WHERE table1.key = 'test'
东西用在()不是工作时, “在(table1.value)” 不被解释为 “中( '1', '2')”,它不显示出任何效果。
表1:
KEY VALUE
test '1','2'
表2:
KEY VALUE
1 result1
2 result2
3 result3
我知道有这样的解决办法,但我想解决这个问题而无需额外的SELECT ...
SELECT * FROM table2 WHERE table2.value in (SELECT value FROM table1 WHERE key = 'test')
任何想法? 谢谢, Lennart
你必须使用一个子查询 – Hemal
我有一个想法!不要在table1中存储你的值。每个值都有一个记录。这个设计本质上是有缺陷的。 –