Merhaba
Tabi ki birleştirebilirsiniz,
zaten bunu öğrenmeniz için size yaptırmak istedim
şimdi yaptıklarınızı 3 ayrı tablo olarak düşünün
tablo1, tablo2 ve tablo3
şimdi bunları bağlamak için nasıl yapıyorduk (ben left ile bağlayacağım)
SELECT * FROM TABLO1 T1
LEFT OUTER JOIN TABLO2 T2 ON T1.LOGICALREF=T2.LOGICALREF
LEFT OUTER JOIN TABLO3 T3 ON T1.LOGICALREF=T3.LOGICALREF
bu kadar
o zaman bu tablo yerlerine seninkileri yazalım mı?
SELECT I.CODE
,I.NAME
,TABLO1.MIKTAR AS MIKTAR
,TABLO2.PRICE AS DEVIR_FIYAT
,TABLO3.PRICE AS SATINALMA_FIYAT
FROM LG_112_ITEMS I
LEFT OUTER JOIN (SELECT ITEMS.CODE AS KODU, ITEMS.NAME AS ACIKLAMA, SUM(SLTRANS.REMAMOUNT) AS MIKTAR
FROM dbo.LG_112_ITEMS AS ITEMS INNER JOIN
dbo.LG_112_01_SERILOTN AS SERILOTN ON ITEMS.LOGICALREF = SERILOTN.ITEMREF INNER JOIN
dbo.LG_112_01_SLTRANS AS SLTRANS ON SERILOTN.LOGICALREF = SLTRANS.SLREF
WHERE (SLTRANS.INVENNO = 0) AND (SLTRANS.REMAMOUNT > 0)
GROUP BY ITEMS.CODE, ITEMS.NAME) TABLO1 ON TABLO1.KODU=I.CODE
LEFT OUTER JOIN (SELECT ITEMS.CODE AS KODU, ITEMS.NAME AS ACIKLAMA, dbo.LG_112_01_STLINE.PRICE
FROM dbo.LG_112_01_STLINE INNER JOIN
dbo.LG_112_01_STFICHE ON dbo.LG_112_01_STLINE.STFICHEREF = dbo.LG_112_01_STFICHE.LOGICALREF INNER JOIN
dbo.LG_112_ITEMS AS ITEMS INNER JOIN
dbo.LG_112_01_SERILOTN AS SERILOTN ON ITEMS.LOGICALREF = SERILOTN.ITEMREF INNER JOIN
dbo.LG_112_01_SLTRANS AS SLTRANS ON SERILOTN.LOGICALREF = SLTRANS.SLREF ON dbo.LG_112_01_STLINE.STOCKREF = ITEMS.LOGICALREF
WHERE (SLTRANS.INVENNO = 0) AND (dbo.LG_112_01_STFICHE.TRCODE = 14)
GROUP BY ITEMS.CODE, ITEMS.NAME, dbo.LG_112_01_STFICHE.TRCODE, dbo.LG_112_01_STLINE.PRICE) TABLO2 ON TABLO2.KODU = I.CODE
LEFT OUTER JOIN (SELECT ITEMS.CODE AS KODU, ITEMS.NAME AS ACIKLAMA, dbo.LG_112_PRCLIST.PRICE
FROM dbo.LG_112_ITEMS AS ITEMS INNER JOIN
dbo.LG_112_01_SERILOTN AS SERILOTN ON ITEMS.LOGICALREF = SERILOTN.ITEMREF INNER JOIN
dbo.LG_112_01_SLTRANS AS SLTRANS ON SERILOTN.LOGICALREF = SLTRANS.SLREF INNER JOIN
dbo.LG_112_PRCLIST ON ITEMS.LOGICALREF = dbo.LG_112_PRCLIST.CARDREF
WHERE (SLTRANS.INVENNO = 0) AND (dbo.LG_112_PRCLIST.PTYPE = 1) AND (dbo.LG_112_PRCLIST.ENDDATE = CONVERT(DATETIME, '2012-12-31 00:00:00', 102))
GROUP BY ITEMS.CODE, ITEMS.NAME, dbo.LG_112_PRCLIST.PTYPE, dbo.LG_112_PRCLIST.ENDDATE, dbo.LG_112_PRCLIST.PRICE) TABLO3 ON TABLO3.KODU=I.CODE
mantığını kapmışsındır diye umuyorum.
Kolay gelsin.