Как мне сформировать правильное заявление SQL? - PullRequest
0 голосов
/ 03 мая 2020

Я хотел выбрать и найти значение из Таблицы A, в зависимости от некоторого значения из Таблицы B. Как мне этого добиться.

Select 
    Ax 
from 
    TableA 
where TableA.Ay = (Select 
                       Bx 
                   from 
                        TableB 
                   where TableB.By = L AND TableB.Bz = M )

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Выглядит нормально, только если вы не уверены, что Bx предоставляет только одну строку в качестве результата

Select 
    Ax 
from 
    TableA a
where a.Ay IN (Select 
                       Bx 
                   from 
                        TableB b
                   where b.By = L AND b.Bz = M )

Или вы должны ограничить возврат таблицы b одной строкой с помощью LIMIT 1

Также полезно использовать псевдонимы, чтобы лучше читать и меньше печатать

1 голос
/ 03 мая 2020

Вы можете попробовать использовать JOIN

Select TableA.Ax 
from TableA 
INNER JOIN TableB ON  TableA.Ay =  TableB.Bx
    AND TableB.By = L 
        AND TableB.Bz = M
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...