如下面sql文所示,我想把顾客最近三次入库信息合并到一条纪录里.
但是,实际查询的结果是,decode只能做判断,不能合并数据.
如果是数字的话,倒是可以用SUM()函数加group by来解决.但是我现在查的是字符串,不知道有没有类似于SUM()的字符串集合的函数?
先谢谢各位了.SELECT
CD_KAISYA, --会社コード
CD_OKYAKU, --お客様コード
DECODE(E.JUNBANID,1,E.DD_SEISAN,''), --最新の入庫日
DECODE(E.JUNBANID,1,E.KJ_NYUUKOM,''), --最新の入庫区分名
DECODE(E.JUNBANID,1,E.KJ_TENTANMS,''), --最新の入庫店舗名
DECODE(E.JUNBANID,2,E.DD_SEISAN,''), --前々回分の入庫日
DECODE(E.JUNBANID,2,E.KJ_NYUUKOM,''), --前々回分の入庫区分名
DECODE(E.JUNBANID,2,E.KJ_TENTANMS,''), --前々回分の入庫店舗名
DECODE(E.JUNBANID,3,E.DD_SEISAN,''), --前々々回分の入庫日
DECODE(E.JUNBANID,3,E.KJ_NYUUKOM,''), --前々々回分の入庫区分名
DECODE(E.JUNBANID,3,E.KJ_TENTANMS,'') --前々々回分の入庫店舗名
FROM
TBTABLE1 A,
TBTABLE2 B
WHERE A.CD_KAISYA = '01'
AND A.CD_SELTGT = 1010022
AND A.CD_KAISYA = E.CD_KAISYA(+)
AND A.CD_OKYAKU = E.CD_OKYAKU(+)
GROUP BY CD_KAISYA,CD_OKYAKU
但是,实际查询的结果是,decode只能做判断,不能合并数据.
如果是数字的话,倒是可以用SUM()函数加group by来解决.但是我现在查的是字符串,不知道有没有类似于SUM()的字符串集合的函数?
先谢谢各位了.SELECT
CD_KAISYA, --会社コード
CD_OKYAKU, --お客様コード
DECODE(E.JUNBANID,1,E.DD_SEISAN,''), --最新の入庫日
DECODE(E.JUNBANID,1,E.KJ_NYUUKOM,''), --最新の入庫区分名
DECODE(E.JUNBANID,1,E.KJ_TENTANMS,''), --最新の入庫店舗名
DECODE(E.JUNBANID,2,E.DD_SEISAN,''), --前々回分の入庫日
DECODE(E.JUNBANID,2,E.KJ_NYUUKOM,''), --前々回分の入庫区分名
DECODE(E.JUNBANID,2,E.KJ_TENTANMS,''), --前々回分の入庫店舗名
DECODE(E.JUNBANID,3,E.DD_SEISAN,''), --前々々回分の入庫日
DECODE(E.JUNBANID,3,E.KJ_NYUUKOM,''), --前々々回分の入庫区分名
DECODE(E.JUNBANID,3,E.KJ_TENTANMS,'') --前々々回分の入庫店舗名
FROM
TBTABLE1 A,
TBTABLE2 B
WHERE A.CD_KAISYA = '01'
AND A.CD_SELTGT = 1010022
AND A.CD_KAISYA = E.CD_KAISYA(+)
AND A.CD_OKYAKU = E.CD_OKYAKU(+)
GROUP BY CD_KAISYA,CD_OKYAKU
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货