简体   繁体   English

在查询中多次选择

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM