Как выбрать строки, где выполняется условие, если они существуют, в противном случае выбрать все строки?

0

Я хочу выбрать строки, где name='David' только если они существуют, Если таких строк нет

Я хочу select * rows. Далее следует мое выражение, которое не работает:

SELECT * FROM table A
Where name='David'
else
SELECT * from table A
Теги:

1 ответ

1
Лучший ответ

используйте ниже запрос, он будет работать

  select m1.name from
   (
    select m1.*, case when m1.name ='David' then 1  else 0  end  as cnt from tableA m1 ) m1
     inner join 
    (
    select max(Cnt) as Cnt from
    (
     select t1.*, case when name ='David' then 1  else 0  end  as Cnt 
      from tableA t1
     ) as t2

     )as n 
     on m1.cnt=n.Cnt

http://sqlfiddle.com/#!9/88ed0c/2

  • 0
    @volik это работает
  • 0
    Спасибо за ваш ответ Зайнул Абадин Тухин, ваш ответ работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню