如何检查SQL Server表是否有行并将表名返回为列名,值为true还是false

时间:2012-11-18 13:21:06

标签: sql sql-server sql-server-2008

我需要创建一个视图,它将查询一些指定的表并返回一行视图表。必须使用包含表名的列形成表,并且必须返回一行,其值为True / False,具体取决于表是否包含行。

例如,我有四个表:

Medication / Patient / User / Appointment

我需要检查表是否有行,并返回一个包含一行和一列的视图表。

Medication | Patient | User | Appointment
True       | False   | False| True

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点,如果只有这4个表你就可以使用它:

select
(select Case When (select COUNT(*) FROM Medication) > 0 then 'true' else 'false' end) as Medication,
(select Case When (select COUNT(*) FROM Patient) > 0 then 'true' else 'false' end) as Patient,
(select Case When (select COUNT(*) FROM Appointment) > 0 then 'true' else 'false' end) as Appointment