выберите запрос SQL - PullRequest
       3

выберите запрос SQL

2 голосов
/ 19 января 2011

у меня есть три стола

Таблица 1 - ключевые столбцы p1, p2
Таблица 2 - ключевые столбцы p1, STATUS
Таблица 3 - ключевые столбцы p2, STATUS

В таблице 1, если p1 равно 0, тогда p2 будет иметь значение. но не наоборот. Если есть p1, мне нужно проверить статус в таблице 2, если нет, мне нужно проверить статус в таблице 3.

Теперь мне нужно выбрать число строк, которые находятся в состоянии ожидания в любой из таблиц 2 и 3 из таблицы 1.

Пожалуйста, помогите. заранее спасибо

1 Ответ

1 голос
/ 19 января 2011
SELECT  CASE p1 WHEN 0 THEN t2.status ELSE t3.status END
FROM    t1
LEFT JOIN
        t2
ON      t2.p1 = p1
LEFT JOIN
        t3
ON      t1.p1 = 0
        AND t3.p2 = t1.p2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...