SQL Server:内连接上的SELECT,带有多个where子句

时间:2014-12-17 03:23:20

标签: sql sql-server

我需要从SQL Server数据库中的两个表中选择一些列。我需要使用以下内容:

SELECT 
    c.itmtxt, a.attr1val, a.attr2val, a.attr3val 
FROM 
    code c
JOIN 
    codeattribute a ON c.itmcd = a.itmcd 
WHERE 
    c.catcd = 1
    AND c.itmtxt = 2
    AND a.attr1val = 'A'

但是,当我添加最后一个AND语句时查询不起作用。如果我以单WHERE子句结束,则代码按预期工作。

任何人都可以看到有什么问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要将AND a.attr1val = 'A'移到您的加入条款中。

SELECT c.itmtxt, a.attr1val, a.attr2val, a.attr3val FROM code c
JOIN codeattribute a ON c.itmcd = a.itmcd AND a.attr1val = 'A'
WHERE c.catcd = 1
AND c.itmtxt = 2