Forum
Sql de tablomdaki bilgiler aşağıdaki gibi;
no ---- hasta adı ---- ürün kodu ---- ameliyat türü1 --- ameliyat türü2
1 Ahmet ABC-1 A B (NOT aynı hastaya 2 türde ameliyat gerçekleştirilmiş)
2 ahmet abc-2 A B
3 MEHMET ABC-3 A C
4 MEHMET ABC-4 A C
5 RECEP ABC-5 C NULL
Tablom da daha önce ameliyat türü 1 taneydi ve grup by kullanarak sorgulama gerçekleştiriyordum ve ameliyat türlerinden kaç tane yapıldığını bulabiliyorum.
Örnek
SELECT ameliyattürü1,count(DISTINCT hasta adı) AS ATürü FROM xxxx group by ameliyattürü1
sonuç olarak A=2 ameliyat yapılmış C=1 ameliyat yapılmış sonucunu buluyorum.
Şimdi yeni bir sorgulama yaparak ameliyat türü2 sütununuda devreye almam gerekiyor.
bulmam gereken sonuçlarda A=2,B=1,C=2 şeklinde olmalı.
Bu sonuçlara ulaşabilmek için nasıl bir sorgu kullanacağımı bulamadım.
Yardım ederseniz çok sevinirim.
Merhaba,
Bunun için tabloyu union all ile birleştirmelisiniz. Örneğin ;
SELECT ameliyattürü1,count(DISTINCT hasta) AS ATürü FROM
(
SELECT ameliyattürü1,hasta from tablo
union all
SELECT ameliyattürü2,hasta from tablo
) k
group by ameliyattürü1
İsmail Bey;
Cevabınız için teşekkür ederim. Açıkçası ben daha uğraştırıcı kodlara kafa patlatıyordum ancak sunmuş olduğunuz çözüm fazlasıyla işime yaradı.
Tekrar teşekkürler.