这个问题很有可能被问到,但我在搜索时遇到了麻烦。
我希望返回一个来自唯一列的结果集。此结果集将包括唯一列和另一个字段。我遇到的问题是,如果我在唯一列和其他字段上使用distinct,我将收到唯一列的重复项,因为第2个字段有两个唯一元素。
我会尝试更好地展示我的目标。
工作订单表:
JPNUM DESCRIPTION
===== ===========
FE-JPINSP BLAH BLAH
FE-JPINSP BLAH BLAH BLAH
FE-JPINSP BLAH BLAH
LAB-JPINSP LAB INSP BLAH
SQL:
SELECT DISTINCT JPNUM FROM WORKORDER WHERE WORKTYPE = 'INSP' AND PARENT = ''
此查询仅适用于返回唯一的JPNUM。但我也希望包含与该JPNUM相关的描述。如果我同时选择JPNUM和DESCRIPTION。我将收到重复的JPNUM特别是FE-JPINSP。
我遗漏了表格中的几列。但是你应该有个主意。
答案 0 :(得分:1)
您的问题并未解释如何应对数据中的歧义。事实上,DESCRIPTION
列中的F-JPINSP
列与JPNUM
列中的值SELECT JPNUM,
MAX(DESCRIPTION) AS DESCRIPTION
FROM WORKORDER
WHERE WORKTYPE = 'INSP'
AND PARENT = ''
GROUP BY JPNUM
ORDER BY JPNUM
相关联。
我会猜测,你想要词法最后(在这种情况下更长)的值。
尝试此查询。
{{1}}
答案 1 :(得分:0)
只需按JPNUM分组,并使用MIN,MAX或GROUP_CONCAT获取您最喜欢的描述:
SELECT JPNUM, MIN(DESCRIPTION)
FROM WORKORDER
WHERE WORKTYPE = 'INSP' AND PARENT = ''
GROUP BY JPNUM;