Aynı Tabloya Join Bağlantısı Olur Mu?

SORU:

Merhabalar,
Aynı tablo üzerinde alış miktarlarını toplatıp gene aynı tablo da bulunan son alış
fiyatı ile çarpmak istiyorum. Fakat left veya inner join yaptığım zaman hata veriyor.

ANA TABLO (BAKİYEYİ HESAPLADIĞIM)
select *,
sum(if(STKHARTIPI=0,STKHARMIKTAR,0)+if(STKHARTIPI=1,STKHARMIKTAR,0)-if((STKHARTIPI=2) OR (STKHARTIPI=3),STKHARMIKTAR,0)) AS BAKIYE
from dbo_stkhar
LEFT JOIN dbo_stkkart ON STKHARSTKKOD=STKKOD
where STKHARCALFLAG=1 AND STKHARISLEMTIP=1 AND where BAKIYE > 0 group by STKHARSTKKOD

SON ALIŞ FİYATINI BULDUĞUM AYNI TABLO

select STKHARSTKKOD,STKHARNETFIYAT AS “NETFIYAT” from dbo_stkhar where STKHARTIPI=1 AND STKHARCALFLAG=1 AND STKHARISLEMTIP=1 order by STKHARTAR DESC LIMIT 1

İki sorguyu birleştirip önceki sorgudaki bakiye ile diğer sorgudaki NETFIYATI çarpmak istiyorum.

Kolay gelsin

CEVAP:

Aynı tabloya tabikide Join bağlantısı olmaktadır. Ama bu vermiş olduğunuz örnekte ayrı ayrı sorgulama yaparak işlem yapmanız sanırım daha mantıklı olacaktır.

Paylaş: