sql - 从一个表中选择所有列,从另一个表中选择一列,其中列等于变量

标签 sql sql-server

抱歉,标题太长了。

我有一个语句需要从 BinConfig 的一行中获取所有列:

SELECT * 
FROM BinConfig WITH(NOLOCK) 
WHERE IssuerKey = @IssuerKey

但我还需要从 CardRangeGroup 的一行中获取单个列,同样基于 IssuerKey 列。

我尝试过的:

SELECT 
    BinConfig.*, CardRangeGroup.Name 
FROM 
    BinConfig 
JOIN 
    CardRangeGroup WITH(NOLOCK) 
WHERE 
    @IssuerKey = BinConfig.IssuerKey 
    AND @IssuerKey = CardRangeGroup.IssuerKey

这让我在 WHERE 附近出现语法错误。我试图在网上查找资源,但到处都找不到任何解释如何根据传入变量选择行的内容。有帮助吗?

最佳答案

您需要指定表的连接方式。试试这个:

SELECT BinConfig.*, CardRangeGroup.Name 
FROM BinConfig 
JOIN CardRangeGroup ON BinConfig.IssuerKey = CardRangeGroup.IssuerKey
WHERE @IssuerKey = CardRangeGroup.IssuerKey

with(nolock) 可能不需要(或一个好主意)所以我删除了它。

关于sql - 从一个表中选择所有列,从另一个表中选择一列,其中列等于变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31189392/

相关文章:

sql - Azure SQL : can’t ping the Private Endpoint from on-prem

sql - 显示前三个值以及所有其他值的总和

sql - 通过检查是否有任何值与查找表匹配来设置状态?

mysql - 在 SQL 中连接两个不同的表

C# SQL父子表选择查询帮助

C# 在以表类型为参数的 SQL Server 中调用用户定义标量函数

sql - 对象 'server' 数据库 'master' 上的不安全程序集权限被拒绝

sql server select 与 like 连接?

c# - log4net AdoNetAppender 未登录到 Web 应用程序中的 sql azure db

sql - 如何在 SQL Server 中进行 10% 45% 45% 拆分