У меня есть таблица A как | name1 | name2 | value |Попытка избежать дублирования запроса
таблица B как | имя | значение |.
Здесь «name1» и атрибут «name2» в таблице А внешние ключи, ссылающиеся на «имя» в таблице В.
Теперь я хочу иметь функции запроса, как это:
SELECT value FROM A WHERE name1 IN
(SELECT name FROM B WHERE value = '1') AND
name2 IN (SELECT name FROM B WHERE value = '1')
Здесь проблема в том, если я делаю это как код выше, будет два запроса из таблицы B. Но на самом деле мне нужно только один запрос, есть все, что в SQL, который пишет
SELECT value FROM A WHERE name1,name2 IN (SELECT name FROM B WHERE value = '1')
а что, еслиЯ хочу что-то вроде этого:
SELECT value FROM A WHERE name1,name2 IN
(SELECT name FROM B ORDER BY value DESC FETCH FIRST 200 ROWS ONLY)
?
какая система баз данных вы используете? –