SQL View Условный Выбор - PullRequest
       22

SQL View Условный Выбор

0 голосов
/ 12 августа 2010

Я пытаюсь создать представление, которое извлекает конкретную запись.Проблема, с которой я сталкиваюсь, состоит в том, что есть 2 записи на выбор и флаг состояния, который равен 1 или 2. Он должен вытянуть 1 запись, если она существует, и если нет 2 записи.

Isэто возможно с точки зрения?

Ответы [ 4 ]

3 голосов
/ 12 августа 2010

попробуйте отсортировать по значению статуса или по группе и вернуть мин.

0 голосов
/ 12 августа 2010
select * from table
where Status = 1

union

select * from table t
where status = 2 
    and not exists (select * from table t2 where t.id = t2.id and Status = 1)

Обратите внимание, что этот подход работает лучше всего, когда у вас есть столбец id для сравнения.Это другой аромат того, что написал Файз.

0 голосов
/ 12 августа 2010
Select B.*
FROM
    (Select 
       ID
       ,MIN(Flag) Flag
    From TableName
    Group by ID) A
    LEFT JOIN TableName B on A.ID=B.ID and A.Flag=B.Flag
0 голосов
/ 12 августа 2010

потяните select top 1 и упорядочите его по флагу статуса.

...