SQL:在SQL中编写嵌套查询

时间:2014-06-20 15:53:26

标签: sql nested-queries

我的表格有以下列:

AccountKey 产品组 的ProductVersion

我想列出具有ProductGroup = A且ProductVersion = 13且没有ProductGroup = A且ProductVersion = 19的不同AccountKey。

请分享sql代码。

非常感谢!

对不起,我想我不清楚上面的问题: 该表存储了每个accountkey已购买的产品组和产品版本。因此,一个accountkey可以在同一productGroup中购买多个产品但具有不同的ProductVersions。

我想知道什么是已经购买了ProductGroup A版本13而不是19的accountKey。

e.g。如果我的桌子如下 AccountKey ProductGroup ProductVersion 123 A 13, 123 A 19, 456 B 10, 456 A 13, 789 B 19,

所以我想要的结果仅为查询的456。

3 个答案:

答案 0 :(得分:0)

SELECT DISTINCT AccountKey
FROM TABLE 
WHERE (ProductGroup = 'A' AND ProductVersion = 13) 
   OR (ProductGroup != 'A' AND ProductVersion = 19)

答案 1 :(得分:0)

您可以尝试此查询

SELECT DISTINCT AccountKey 
FROM Table 
WHERE (ProductGroup = 'A' AND ProductVersion = 13) 
   OR (ProductGroup <> 'A' AND ProductVersion = 19)

答案 2 :(得分:0)

你的意思是:

SELECT DISTINCT AccountKey
FROM TABLE 
WHERE (ProductGroup = 'A' AND ProductVersion = 13) 
   AND NOT (ProductGroup = 'A' AND ProductVersion = 19)

...其中包括“A”以外的ProductGroups。

或者您想将结果限制为仅限ProductGroup'A'?