İstediğiniz Tablodaki İstediğiniz Alanları Görme

SORU:

Select * from dbo_stkfis as fis
LEFT JOIN dbo_stkhar as har ON fis.STKFISREFNO=har.STKHARREFNO
where fis.STKFISKAYNAK=5 AND fis.STKFISCALFLAG=1

yukarıdaki sorguda fiş listelerini alıyorum, join yaptığım tabloyu ise sadece arama yapmak için kullanmak istiyorum. Yani ( where fis.STKFISKAYNAK=5 AND fis.STKFISCALFLAG=1 AN har.CARIKOD=”SERDAR” ) gibi. Bu soguda dbo_stkhar daki
verileri görmek istemiyorum. Bunun imkanı varmı? Sadece dbo_stkfis daki verileri görmek istiyorum.

İkinci Sorum : join yaptığım tabloda limit 1 işlemini nasıl uygularız.

Kolay gelsin

CEVAP:

SELECT kısmından sonra yazılan kısım ilgili sorgudaki gösterim kısmıdır. Bu gösterimleri aşağıdaki gibi çeşitli örneklerle sunmaya çalışacağım.

Tablodaki tüm kayıtları listeleme

SELECT * FROM TABLO_ADI

Tablodaki belirli kayıtları listeleme

SELECT AD,SOYAD,CINSIYET FROM TABLO_ADI

JOIN yapılan tablolardaki belli bir tablodaki tüm kayıtları listeleme

SELECT a.* FROM TABLO_BIR as a JOIN TABLO_IKI as b ON a.ID = b.ID

JOIN yapılan tablolardaki belli bir tablodaki belirli kayıtları listeleme

SELECT a.AD,a.SOYAD,a.CINSIYET FROM TABLO_BIR as a JOIN TABLO_IKI as b ON a.ID = b.ID

Sizin sorunuza göre istenilen cevap

Select fis.* from dbo_stkfis as fis
LEFT JOIN dbo_stkhar as har ON fis.STKFISREFNO=har.STKHARREFNO
where fis.STKFISKAYNAK=5 AND fis.STKFISCALFLAG=1

İkinci Sorum : join yaptığım tabloda limit 1 işlemini nasıl uygularız.

Join yapılan tabloda eğer iki tablo arasında birleştirecek bir alan varsa örnek olarak aşağıdaki gibi bir limitleme uygulamayabilirsiniz.

SELECT aa.ID,aa.AD,aa.SOYAD,bb.UCRET
FROM TABLO_BIR aa
LEFT JOIN (SELECT aa.ID,aa.b.UCRET FROM TABLO_IKI b ORDER BY b.UCRET_TARIH DESC LIMIT 1) bb 
ON aa.ID = bb.ID
LIMIT 10;

Paylaş: