AccessTr.neT

Tam Versiyon: Sql sorgu yardımı
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Finale çalışma bâbında bi ödev verdi hocamız. Eklediğim Dosyada 3 tablolu basit bir programım vardır. Hocamız bu tablolarla ilgili 10 tane Sql sorgusu soruyo. Sorgulardaki 4. ve 5. sorguda takıldım arkadaşlar ikisi de aynı tip sorgu yapamadım mantığını bilmiyorum :S

Lütfen bi bakarsanız yardımcı olabilirseniz çok minnettar olucam arkadaşlar. +rep

Ayrıca yanlış gördüğünüz bişey olursa programımda uyarabilirsiniz bilmemek ayıp diil öğrenmemek ayıp =)
SQL sorgulamayı iyi bilen biri yok mu burada :S
Merhaba..

Aynı ödevi herkese vermişler sanırım.. ;)

Bu 4. sorunun karşılığı olur..:

select maliyet, tid,pid
from katalog as trz
where maliyet>(select avg(maliyet) from katalog where pid=trz.pid)


Bu da 5.nin cevabı..:

select maliyet, tid,pid
from katalog as trz
where maliyet in(select max(maliyet) from katalog where pid=trz.pid)
Çok teşekkürler=) sonunda biri yardım edebildi =)))

bişey sorucam ama bu " where pid=trz.pid " koşulu aynı parçayı üreten tedarikçiler koşulu mu oluyo ?
Katalog tablosundaki pid ile neyi eşitliyosun mantığını söler misin biraz ?=)
son bi iyilik istesem sendenn Sonuncuyu da yapamadım :S

10) Kırmızı ve yesil parca üreten her bir tedarikçi icin ürettikleri en pahalı parcanın
adını ve maliyetini gösteren sorguyu olusturma.
Yaptığım Programda alttaki sorguyu oluşturmam lazım bi zahmet bakar mısınız, 9 tanesi hazır sonuncu sorguda takıldım :S

10) Kırmızı ve yesil parca üreten her bir tedarikçi icin ürettikleri en pahalı parcanın adını ve maliyetini gösteren sorguyu olusturma.
SELECT trz.tadi, Katalog.Maliyet, Parcalar.padi
FROM Tedarikciler AS trz INNER JOIN (Parcalar INNER JOIN Katalog ON Parcalar.pid = Katalog.pid) ON trz.tid = Katalog.tid
WHERE (((Katalog.Maliyet) In (SELECT Max(Maliyet) FROM Tedarikciler as tt
INNER JOIN (Parcalar INNER JOIN Katalog ON Parcalar.pid = Katalog.pid)
ON tt.tid = Katalog.tid where tt.tid=trz.tid)) AND ((Parcalar.renk)="yeşil" Or (Parcalar.renk)="kırmızı"))


Bu sorgu istediğiniz sonucu verir..


Diğer sorunuzu kısaca yanıtlayım..: Where şartında alt sorgu kullanarak oluşturduğumuz sorgularda ikinci bir şart daha oluşturup (daha fazlada olabilir) ilişkili alanlar yardımı ile gruplandırma sağlayabiliriz..

Tabi bunlar ileri seviye sorgulama yöntemleridir.. Daha basit sorgular hazırlayarak kendinizi bunlara alıştırmanızı öneririm.. Diğer sorgularınızı da bu bağlamda gözden geçirmenizde fayda var..

Başarılar..
Sayfalar: 1 2