【问题标题】:SQL query to get specific rows based on one value基于一个值获取特定行的 SQL 查询
【发布时间】:2014-01-23 23:44:29
【问题描述】:
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' 的ID,即7718。然后我在表中搜索具有ID 7718 的行。

我想要的输出应该是:

表名:FullResults

ID        Place          Name                Type              Count
--------------------------------------------------------------------------------
7718    | UK1   |  Lemuis           | ERIS TELECOM          | 0
7718    | UK1   |  Customers        | WERTS                 | 0

是否有可以执行此操作的查询?

【问题讨论】:

    标签: mysql sql sql-server stored-procedures


    【解决方案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'
    

    【讨论】:

      【解决方案2】:

      这样的事情应该可以解决问题,返回所有具有匹配类型的 ID 的所有数据。

      SELECT *
       FROM Table
      WHERE ID
         IN (SELECT ID from Table where Type = 'ERIS TELECOM')
      

      【讨论】:

        【解决方案3】:
        SELECT *
        FROM FullResults
        WHERE ID = (SELECT ID 
                    FROM FullResults
                    WHERE Type= @variable);
        

        我猜会是这样吗?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-26
          • 2015-10-14
          • 1970-01-01
          • 1970-01-01
          • 2013-06-10
          • 1970-01-01
          相关资源
          最近更新 更多