我的桌子有以下设计:
ID OPT_1 OPT_2 OPT_3 A_ID
1 3 4 3 1
2 5 2 1 1
3 1 2 2 1
我想为A_ID 1选择所有OPT,但是当我运行查询时,我不知道A_ID,我只知道OPT。
那么如何插入变量来获取我想要的选项的A_ID? 例如:
SELECT * FROM table
WHERE ((OPT_1 = 1 OR OPT_1 = 5)
AND (OPT_2 = 4 OR OPT_2 = 2)
AND (OPT_3 = 3 OR OPT_3 = 2)
AND A_ID = $X=$X)
谢谢,
答案 0 :(得分:2)
可能最好的方法就是把它分开一点。
SELECT *
FROM table
WHERE A_ID in (
SELECT A_ID
FROM table
WHERE (OPT_1 = 1 OR OPT_1 = 5)
union
SELECT A_ID
FROM table
WHERE (OPT_2 = 4 OR OPT_2 = 2)
)