subquery

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
dost
Üye
Mesajlar: 104
Kayıt: 08 Oca 2004 11:33

subquery

Mesaj gönderen dost »

merhaba,

Kod: Tümünü seç

Tablo
A_ADI----B_ADI----C_ADI
AHMET----MEHMET---HASAN
BİROL----MEHMET---RAMAZAN

SQL KODU
select distinct
t1.A_ADI,
(select count(distinct t2.A_ADI) from TBL_RAPOR t2
where t2.A_ADI=t1.A_ADI) as A_SAYISI,
t1.B_ADI,
(select count(distinct t3.B_ADI) from TBL_RAPOR t3
where t3.B_ADI=t1.B_ADI) as B_SAYISI,
t1.C_ADI,
(select count(distinct t4.C_ADI) from TBL_RAPOR t4
where t4.C_ADI=t1.C_ADI) as C_SAYISI
from
TBL_RAPOR t1
where
t1.A_ADI is not null or
t1.B_ADI is not null or
t1.C_ADI is not null

Çıktı
AHMET--1--MEHMET--1--HASAN--1
BİROL--1--MEHMET--1--RAMAZAN--1

İstenen
AHMET--1--MEHMET--2--HASAN--1
BİROL--1-------------RAMAZAN--1
sql koda yardımcı olabilirmisiniz
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: subquery

Mesaj gönderen m_ekici »

Buradaki amaç hangi isimden kaç tane olduğu ise farklı bir yol önermek isterim. Diğer türlü kontrolü zor olur gibi geliyor.
bence view oluştur

Kod: Tümünü seç

CREATE VIEW [dbo].[VWS_RAPOR]
AS
SELECT A_ADI AS ADI FROM TBL_RAPOR GROUP BY A_ADI
UNION ALL
SELECT B_ADI AS ADI FROM TBL_RAPOR GROUP BY B_ADI
UNION ALL
SELECT C_ADI AS ADI FROM TBL_RAPOR GROUP BY C_ADI
ve aşağıdaki gibi kontrol edebilirsin?

Kod: Tümünü seç

SELECT ADI, COUNT(*) AS SAYISI FROM VWS_RAPOR 
GROUP BY ADI
dost
Üye
Mesajlar: 104
Kayıt: 08 Oca 2004 11:33

Re: subquery

Mesaj gönderen dost »

teşekkürler,

tabloda tek alan olarak istenileni veriyor, ancak üç alanda
istenileni alamadım.
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: subquery

Mesaj gönderen Rew33 »

tablo yapın ve yapmak istediğin hakkında biraz daha bilgi verebilirsen daha hızlı yardım alabilirsin.bana bu anlattıklarınla almak istediğin çıktı biraz garip geldi.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
Cevapla