sql 当计数 = 0 时查询 return 另一个 select
sql query when count = 0 return another select
我有这个查询 return 是一组数据。我有一个问题。我需要检查 returned 数据集是否有行。
如果它 return 有 0 行,我需要 select 具有不同条件的相同数据。
如果它 return 超过 0 行,我保留第一组数据的数据。我放置了一个类似 C# 的伪代码,我无法确定如何 return 我的数据。
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
您可以使用 If Not Exists
检查 table 是否已填充。如果没有(意味着第一个查询没有返回任何行)用第二个查询填充 table。
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
我有这个查询 return 是一组数据。我有一个问题。我需要检查 returned 数据集是否有行。
如果它 return 有 0 行,我需要 select 具有不同条件的相同数据。 如果它 return 超过 0 行,我保留第一组数据的数据。我放置了一个类似 C# 的伪代码,我无法确定如何 return 我的数据。
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
您可以使用 If Not Exists
检查 table 是否已填充。如果没有(意味着第一个查询没有返回任何行)用第二个查询填充 table。
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