将行与同一查询

时间:2017-11-15 09:21:23

标签: sql sql-server

我对SQL查询有疑问。

enter image description here

基本上,我想从testCategory = compareTestCat和testType = compTestType中获取一个示例值。

我不确定我们是否可以比较同一查询中的第一行和第四行。 有什么方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:2)

尝试SELF JOIN来比较同一个表中的值。

尝试以下内容:

SELECT A.* 
FROM YourTable A
JOIN YourTable B ON A.testCategory = B.compareTestCat and A.testType = B.compTestType

A和B是同一个表的不同别名。

答案 1 :(得分:1)

根据您提供的非常稀疏的信息,这看起来就像您需要的那样:

SELECT * 
    FROM 
        TestTable 
    WHERE 
            testCategory = compareTestCat 
        AND testType = compTestType;

<强>更新

如果您有兴趣将同一个表中的不同行相互比较,那么您需要在表格中使用self join。其他人已经提供了解决方案的示例。