SQL CASE STATEMENT, если данные существуют для одного и того же идентификатора, в обеих таблицах выводятся данные - PullRequest
0 голосов
/ 14 июля 2011

Я хочу создать запрос на выборку, который проверяет определенное значение (пример ниже: «зеленый») в таблице 1, если существует, он находит тот же идентификатор в таблице 2 и отображает эти строки данных.

table 1

id car
1  black
2  green

table 2

id  status
1   old
2  broken

Таким образом, результат должен быть «сломан».

Вот мой код:

SELECT TOP 100 car CASE WHEN table1.car IN ('green') THEN Table2.status END AS 'result'
FROM Table1.ID INNER JOIN Table2.ID

Ответы [ 2 ]

4 голосов
/ 14 июля 2011
SELECT t1.car, t2.status AS result
    FROM Table1 t1
        INNER JOIN Table2 t2
            ON t1.id = t2.id
    WHERE t1.car = 'green'
1 голос
/ 14 июля 2011

почему бы это не было просто объединением?

select c.id, c.car, s.status
from car c, status s
where c.id = s.id
and car = 'green' -- if desired
;
...