ID Place Name Type Count
--------------------------------------------------------------------------------
7718 | UK1 | Lemuis | ERIS TELECOM | 0
7713 | UK1 | Astika LLC | VERIDIAN | 34
7712 | UK1 | Angel Telecom AG | VIACLOUD | 34
7710 | UK1 | DDC S.r.L | ALPHA UK | 25
7718 | UK1 | Customers | WERTS | 0
基本上我有一个变量,我想将该变量与'Type'
列进行比较。如果变量与类型匹配,那么我想返回与变量ID具有相同ID的所有行。
例如,我的变量是'ERIS TELECOM'
,我需要检索'ERIS TELECOM'
的{{1}}的ID。然后我在表格中搜索具有7718
。
我想要的输出应该是:
表名:ID 7718
FullResults
是否有查询可以执行此操作?
答案 0 :(得分:2)
SELECT *
FROM FullResults
WHERE ID = (SELECT ID
FROM FullResults
WHERE Type= @variable);
我猜它会是这样的?
答案 1 :(得分:1)
这样的事情可以做到这一点,返回所有具有匹配类型的ID的所有数据。
SELECT *
FROM Table
WHERE ID
IN (SELECT ID from Table where Type = 'ERIS TELECOM')
答案 2 :(得分:1)
您可以为此创建存储过程,您将在执行存储过程时传递变量。
create proc dbname.dbo.usp_get_date_from_type_value
(
@type_value varchar(50)
)
as
begin
select ID, Place, Name, Type, Count
from dbname..table
where ID in (select ID from dbname..table where type = @type_value)
end
然后您可以运行以下语句。
Exec dbname.dbo.usp_get_date_from_type_value @type_value = 'ERIS TELECOM'