开发者

Possible to test for null records in SQL only?

I am trying to help a co-worker with a peculiar problem, and she's limited to MS SQL QUERY code only. The object is to insert a dummy record (into a surrounding union) IF no records are returned from a query.

I am having a hard time going back and forth from PL/SQL to MS SQL, and I am appealing for help (I'm not particularly appealing, but I am appealing to the StackOverflow audiance).

Basically, we need a single, testable value from the target Select ... statement.

In theory, it would do this:

(other records from unions)
Union
   Select "These" as fld1, "are" as fld2, "Dummy" as fld3, "Fields" as fld4 
   where NOT (Matching Logic)
Union
   Select fld1, fld2, fld3, fld4  // Regular records exist
   From tested_table
   Where (Matching Logic)

Forcing an individual dummy record, with no conditions, works.

IS there a way to get a single, testable result from a Select?

Can开发者_JAVA技巧't do it in code (not allowed), but can feed SQL

Anybody? Anybody? Bbeller?


You could put the unions in a with, then include another union that returns a null only when the big union is empty:

; with BigUnion as
         (
         select  *
         from    table1
         union all
         select  *
         from    table2
         )
select   *
from     BigUnion
union all
select   null
where    not exists (select * from BigUnion)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜