我試圖在的case
語句中包含select語句,但輸出與預期不符。我知道有不同的方法來做到這一點,但可以按照我試圖做的方式來完成。在case的then子句中使用select語句
使用下面的示例數據:
create table example(name varchar(10));
insert into example values
('abc'),('bcd'),('xyz');
我已經試過此查詢(這裏是fiddle):
select
case when ((select * from example where name='abc')>=1)
then (select * from example where name='abc')
else (select count(*) from example)
end
from example
但它輸出
3 3 3
預期的輸出,如果name='abc'
存在
name
abc
如果不是count(*)
預先感謝
關於SO的問題應該是自包含的。我已經爲你提供了來自小提琴的查詢和信息。 –
好的謝謝。我認爲提供小提琴鏈接也很好。但下次會小心:) –
@Gone:檢查我的答案。 –