У меня есть таблица со следующим дизайном:
ID OPT_1 OPT_2 OPT_3 A_ID
1 3 4 3 1
2 5 2 1 1
3 1 2 2 1
Я хочу выбрать все OPT для A_ID 1, но когда я запускаю запрос, я не знаю 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)
Спасибо,
Возможно, лучший способ сделать это - немного разбить его.
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)
)