mysql select distinct

iyzzxitl  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(473)

当我写的时候:

SELECT DISTINCT `codeArticle`
 FROM hs 
 WHERE `dateFacture` BETWEEN '2017-01-01'  AND '2017-12-31' 
 AND `codefamilleArticle` = 'COT'

我得到了一个很好的答案:
cotfpr2017代码条款
cotfp2017年
2017海岸
cotb2017年
cotap2018年
2018年4月
cotj2017型
科塔布2018
科塔伊2018
科泰2018
但我想知道这个名单的一些细节,我写道:

SELECT codefamilleArticle,codeArticle,article 
FROM hs 
WHERE codeArticle = ( 
    SELECT DISTINCT codeArticle 
    FROM hs 
    WHERE dateFacture BETWEEN '2017-01-01' AND '2017-12-31'
    AND codefamilleArticle = 'COT'
)

然后发生错误,我得到:
mysql服务器épondu:文件

1242-子查询返回超过1行

怎么了?

ozxc1zmp

ozxc1zmp1#

你可以用在

SELECT codefamilleArticle,codeArticle,articleFROM hs WHERE codeArticle IN ( SELECT DISTINCT codeArticle FROM hs WHERE dateFacture BETWEEN '2017-01-01' AND '2017-12-31' AND codefamilleArticle = 'COT')
z18hc3ub

z18hc3ub2#

你可以用 = ANY 或者 IN :

SELECT codefamilleArticle,codeArticle,article
FROM hs
WHERE codeArticle = ANY (SELECT codeArticle -- DISTINCT in not needed
                         FROM hs
                         WHERE dateFacture BETWEEN '2017-01-01' AND '2017-12-31' 
                           AND codefamilleArticle = 'COT')

相关问题