【发布时间】:2020-11-20 17:57:08
【问题描述】:
我想用“-”分隔查询中的“KaliteKodu”列,但它不起作用。 在查询结果中,UrunID = 19241 的质量代码将如下所示
ProsesID UrunID Miktar Tarih LotNo KaliteKodu
1 19241 216 2020-11-20 00:00:00 FHM010901 A-A1-A2
查询:
select t.ProsesID,t.UrunID,sum(t.Miktar_Ad) Miktar,t.Tarih,t.LotNo,
KaliteKodu = stuff (
(select '-' + t.KaliteKodu
from IT07_GerCikanMalzeme GCM2
INNER JOIN IT06_StokKarti SK ON GCM2.UrunID = SK.UrunID
INNER JOIN IT06_LotM LM ON SK.LotID = LM.LotID
inner join IT01_KaliteKodlari KK ON GCM2.KaliteID = KK.KaliteID
where GCM2.ProsesID = 2 and convert(date,GCM2.Tarih) = convert(date,GETDATE()) AND
GCM2.KaliteID in (select KaliteID from IT01_KaliteKodlari where KaliteGrupID = 1 and ITActive = 1) and
(LM.LotNo not in (select m.LotNo from ZKF_IT01_FinKonM m where ProsesID = 2 and m.LotNo is not null)) AND GCM2.UrunID = t.UrunID
FOR XML PATH (''))
, 1, 1, '')
from
(
select GCM.ProsesID,GCM.UrunID,GCM.Miktar_Ad,GCM.Tarih,LM.LotNo , KK.KaliteKodu
from IT07_GerCikanMalzeme GCM
INNER JOIN IT06_StokKarti SK ON GCM.UrunID = SK.UrunID
INNER JOIN IT06_LotM LM ON SK.LotID = LM.LotID
inner join IT01_KaliteKodlari KK ON GCM.KaliteID = KK.KaliteID
where GCM.ProsesID = 2 and convert(date,GCM.Tarih) = convert(date,GETDATE()) AND
GCM.KaliteID in (select KaliteID from IT01_KaliteKodlari where KaliteGrupID = 1 and ITActive = 1) and
(LM.LotNo not in (select m.LotNo from ZKF_IT01_FinKonM m where ProsesID = 2 and m.LotNo is not null))
--group by ProsesID,GCM.UrunID,lm.LotNo,GCM.Tarih, KK.KaliteKodu
) t
group by t.ProsesID,t.UrunID,t.Tarih,t.LotNo,t.KaliteKodu
group by t.ProsesID,t.UrunID,t.Tarih,t.LotNo,t.KaliteKodu
【问题讨论】:
-
请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本。因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?
标签: sql sql-server for-xml-path