[英]Multiple selects in a query
I have the following basic query which I need tweaked: 我有以下需要调整的基本查询:
SELECT PRODUCT_KEY,
PRODUCT_DESCRIPTION,
USC_CODE,
USC_DESCRIPTION
FROM ADMIN.PRODUCT_DIM
WHERE COUNTRY_CODE = 'US'
AND usc_code IS NOT NULL
GROUP BY PRODUCT_KEY,
PRODUCT_DESCRIPTION,
USC_CODE,
USC_DESCRIPTION
ORDER BY PRODUCT_KEY
What I need to list any of the select
fields only if the there are 1 or none product_keys within usc_code
. 仅当
usc_code
有1个或没有product_keys时,我才需要列出任何select
字段。
So if usc 12345 has zero or 1 product only I want to see that usc, product, desc, etc. out of it. 因此,如果usc 12345只有0或1个产品,我希望看到usc,product,desc等。
So I'm thinking I need another select in the middle somewhere but not sure where. 所以我想我需要在中间某个地方进行另一个选择,但不确定在哪里。
Here's some sample data: 这是一些示例数据:
PRODUCT_KEY PRODUCT_DESCRIPTION USC_CODE USC_DESCRIPTION
1000376001 B COMPLEX/C 76222 B-COMPLEX,W/C,ORAL
1000610001 OXYMETAZOLINE HCL 14200 DECONGESTANTS ALONE
1000611001 OXYMETAZOLINE HCL 14200 DECONGESTANTS ALONE
1000612001 OXYMETAZOLINE HCL 14200 DECONGESTANTS ALONE
1000613001 OXYMETAZOLINE HCL 14200 DECONGESTANTS ALONE
1000614001 OXYMETAZOLINE HCL 14200 DECONGESTANTS ALONE
1000615001 OXYMETAZOLINE HCL 78120 CRUDE/BULK MED
SELECT PRODUCT_KEY, PRODUCT_DESCRIPTION, USC_CODE, USC_DESCRIPTION, COUNT(*)
FROM ADMIN.PRODUCT_DIM
WHERE COUNTRY_CODE = 'US'
AND usc_code is not null
GROUP BY PRODUCT_KEY, PRODUCT_DESCRIPTION, USC_CODE, USC_DESCRIPTION
HAVING COUNT(*) = 0 OR COUNT(*) = 1
ORDER BY PRODUCT_KEY
Try this one 试试这个吧
SELECT PRODUCT_KEY, PRODUCT_DESCRIPTION, USC_CODE, USC_DESCRIPTION
FROM ADMIN.PRODUCT_DIM
WHERE COUNTRY_CODE = 'US'
and usc_code is not null
Group By PRODUCT_KEY, PRODUCT_DESCRIPTION, USC_CODE, USC_DESCRIPTION
HAVING COUNT (PRODUCT_KEY) <2
Order by PRODUCT_KEY
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.