sql join hk.
07.08.2019 - 11:43
A tablosundaki unique olan bütün kolonları ve B tablosunda buna karşılık gelen kayıtların sayısını alan sorguyu nasıl yazabilirim? teşekkürler
26
Görüntülenme
0 Beğeni
İki adet SELECT komutunu alt alta çalıştırırsanız iki kolonlu şekilde sonuçları gözlemleme şansınız olur.
SELECT * FROM CUSTOMER ID IN (120,121)
SELECT * FROM ADDRESS WHERE CUSTOMERID IN (120,121)
Bu şekilde iki satırı da aynı anda çalıştırmanız gerekir.
SELECT X.X AS "A", X.X AS "E-posta", X.X AS "A", COUNT(*) AS "B",
SELECT COUNT(*) FROM X X
JOIN X AS que ON X.X= X.X
WHERE X2.X="answer" AND X2.uid = X.X
GROUP BY X.X
) AS "Cevap verilen soru sayisi"
FROM X n
JOIN X u ON X.X = X.X
JOIN X ON X.X= X.X
WHERE X="answer" AND X.X>= UNIX_TIMESTAMP("2019-01-01")
GROUP BY X.X
ORDER BY COUNT(*) DESC
SELECT X.X AS "A", X.X AS "E-posta", X.X AS "A", COUNT(*) AS "B",
SELECT COUNT(*) FROM X X
JOIN X AS que ON X.X= X.X
WHERE X2.X="answer" AND X2.uid = X.X
GROUP BY X.X
) AS "Cevap verilen soru sayisi"
FROM X n
JOIN X u ON X.X = X.X
JOIN X ON X.X= X.X
WHERE X="answer" AND X.X>= UNIX_TIMESTAMP("2019-01-01")
GROUP BY X.X
ORDER BY COUNT(*) DESC
SELECT COUNT(*) FROM B INNER JOIN (SELECT DISTINCT B.Key FROM A) AS B ON B.Key = A.Key B deki eşleşen kayıtları istediğin için A ile işin yok aslında B de eşleşen --- kayıt sayısı ile A nın unique kayıtlarını eşleştirdiğinde B eşleşen sayı çıkar.
Örnek ;
A tablosunda sanatçılar olsun,
B tablosunda sanatçıların müzikleri olsun.her bir sanatçı için birden fazla müzik bulunabilsin(1 e çok ilişki).A tablosundaki id kolonu B tablosunda Sanatciid kolonuna referans olsun.
Yapmak istediğin her sanatçının kaç müziği var ise (ben öyle anladım sorundan);
select A.isim, count(B.id) from A inner join B on A.id=B.Sanatciid group by A.isim
Bu sorgu sonucunda hangi sanatçının kaç tane şarkısı var listeler.
SELECT a.kayitbilgi, count(a.id) as sayi FROM atablosu a INNER JOIN ctablosu c on a.id = c.aninidsi GROUP BY a.kayitbilgi;
gibi .