繁体   English   中英

使用Group By合并SQL中的双数据

[英]Merging double Data in SQL with Group By

我有一个SQL查询问题

我有一个这样的表。

|| KDNRS || 坤|| ADM || BS_1 || BS_2 || DATES_S ||
|| I-111111 || WKRST || A-008 || 0 || 0 || 2014年9月18日||
|| I-222222 || EAAAAA || A-008 || 0 || 0 || 2014年9月19日||
|| I-333333 || 坚爱|| A-008 || 0 || 0 || 2014年6月11日||
|| I-111111 || WKRST || A-008 || 0 || 0 || 2014年9月22日||
|| I-444444 || DRSCH || A-008 || 0 || 0 || 2014年9月24日||
|| I-222222 || EAAAAA || A-008 || 0 || 0 || 2014年9月10日||

很抱歉显示它的方法不好。

现在我有两次录入。 问题是,我想显示所有显示的列,但用相同的KDNRS和KUND总结整个情况。
由于我的查询,ADM,BS_1和BS_2将始终相同。 另外,我也需要查询的日期,但是合并后显示的内容并不重要

我的第一个解决方案是

SELECT t_kds.KDNRS, 
t_stam.KUND, 
t_kds.ADM,
t_kds.BS_1, 
t_kds.BS_2, 
t_kds.DATE_S

FROM t_kds INNER JOIN t_stam ON t_kds.KDNRS = t_stam.KDNRS

GROUP BY t_kds.KDNRS, t_stam.KUND, t_kds.ADM, t_kds.BS_1, t_kds.BS_2, t_kds.DATE_S

WHERE (((t_kds.[ADM])=[Bitte ADM eingeben]) AND ((t_kds.BS_1)=0) AND ((t_kds.BS_2)=0) AND ((Max(t_kds.DATE_S))>#1/1/2014#))

ORDER BY t_kds.KDNRS;

但这没有用。

之后,我尝试了这个。

SELECT t_kds.KDNRS, 
t_stam.KUND, 
t_kds.ADM,
t_kds.BS_1, 
t_kds.BS_2, 
Max(t_kds.DATE_S) AS MaxDATE_S

FROM t_kds INNER JOIN t_stam ON t_kds.KDNRS = t_stam.KDNRS

GROUP BY t_kds.KDNRS, t_stam.KUND, t_kds.[ADM], t_kds.BS_1, t_kds.BS_2

HAVING (((t_kds.[ADM])='A-008') AND ((t_kds.BS_1)=0) AND ((t_kds.BS_2)=0) AND ((Max(t_kds.DATE_S))>#1/1/2014#))

ORDER BY t_kds.KDNRS;

使用此代码,它似乎可以正常工作,但我不确定...此代码可以吗? 我有多达1000条记录,用肉眼比较它们是不可能的。
表结果是
|| KDNRS || 坤|| ADM || BS_1 || BS_2 || DATES_S ||
|| I-222222 || EAAAAA || A-008 || 0 || 0 || 2014年9月19日||
|| I-333333 || 肯爱|| A-008 || 0 || 0 || 2014年6月11日||
|| I-111111 || WKRST || A-008 || 0 || 0 || 2014年9月22日||
|| I-444444 || DRSCH || A-008 || 0 || 0 || 2014年9月24日||

试试这个查询

SELECT t_kds.KDNRS, 
       t_stam.KUND, 
       t_kds.ADM,
       t_kds.BS_1, 
       t_kds.BS_2, 
       SUBSTRING_INDEX(GROUP_CONCAT(t_kds.DATE_S ORDER BY t_kds.DATE_S DESC),',',1) AS date_val
    FROM t_kds
    GROUP BY t_kds.KDNRS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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