我有这个查询返回一组数据。我有一个问题。我需要检查返回的数据集是否有行。
如果它返回0行,我需要选择具有不同条件的相同数据。 如果它返回超过0行,我保留第一组数据中的数据。我放置了一个类似伪代码的c#,我无法确定如何返回我的数据。
declare @Nousager as int = 3
DECLARE @tableVerification AS TABLE
(
id int,
Nom VARCHAR(50)
)
INSERT INTO @tableVerification
select distinct c.id,c.Nom from Categorie_Equipement c
join Utilisateurs u on u.id = @Nousager
join Utilisateurs_Groupe ug on ug.NoUsager = u.id
join Groupe_Equipements ge on ge.noGroupe = ug.noGroupe
--if (tableVerification.Count == 0){
select id,Nom from Categorie_Equipement c
--}else keep @tableVerification
答案 0 :(得分:2)
您可以使用If Not Exists
进行此检查,以查看该表是否已填充。如果它没有(意味着第一个查询没有返回任何行),则用第二个查询填充表。
Declare @Nousager As Int = 3
Declare @tableVerification As Table
(
id Int,
Nom Varchar (50)
)
Insert Into @tableVerification
Select Distinct c.id, c.Nom
From Categorie_Equipement c
Join Utilisateurs u on u.id = @Nousager
Join Utilisateurs_Groupe ug on ug.NoUsager = u.id
Join Groupe_Equipements ge on ge.noGroupe = ug.noGroupe
If Not Exists (Select * From @tableVerification)
Begin
Insert @tableVerification
Select id, Nom
From Categorie_Equipement
End