Forum
Merhaba arkadaşlar,
sql ile veri çekmek istiyorum.veriler geliyor ama mükerrer kayıtların ekrana düşmesini istemiyorum.sorgum aşağıdaki gibi.
SELECT LOGDETAY.LGHASTASIRA,
HASTAKABUL.HAD,
HASTAKABUL.HSOYAD,
(SELECT GELISTIPADI FROM ORCLDENEME.HASTAGELISTIP WHERE HASTAGELISTIP.GELISTIPSIRA=HASTAKABUL.HTIP) GTIP,
HASTAKABULDETAY.HISLEMTAR,
HASTAKABULDETAY.KULADI,
HASTAKABULDETAY.HIZMETADI,
HASTAKABULDETAY.HHIZMETGRUPKOD,
HASTAKABULDETAY.HHASFIYAT,
LOGDETAY.LGHHASFIYAT,
LOGDETAY.LGKULADI,
LOGDETAY.LGZAMAN,
LOGDETAY.DURUM
FROM ORCLDENEME.LOGDETAY
INNER JOIN ORCLDENEME.HASTAKABULDETAY
ON LOGDETAY.LGHASTASIRA = HASTAKABULDETAY.HASTASIRA
INNER JOIN ORCLDENEME.HASTAKABUL
ON HASTAKABULDETAY.HASTANO = HASTAKABUL.HASTANO
WHERE (HASTAKABULDETAY.HHASFIYAT <> LOGDETAY.LGHHASFIYAT)
AND (HASTAKABULDETAY.HISLEMTAR BETWEEN '14.10.2016' AND '14.10.2016') AND (HASTAKABULDETAY.HHIZMETGRUPKOD IN (1,2,3,4,8,12,13)) AND (ORCLDENEME.HASTAKABUL.HTIP<>3)
Ben bu sorgu ile gelen verilerin HASTAKABULDETAY.HHASFIYAT aynı olanların sadece birkez listelenmesini istiyorum.group by ve distinct ile bu işi beceremedim.Aslında HASTAKABULDETAY.HHASFIYAT her kayıt için bir tane var.ama bu sorduga aynı kayıt defalarda ekrana geliyor.Yani;
Ahmet 355
mehmet 714
veli 144
gibi veri gelmesi gerekirken;
Ahmet 355
Ahmet 355
Ahmet 355
mehmet 714
mehmet 714
mehmet 714
mehmet 714
veli 144
veli 144
veli 144
veli 144
gibi aşırı uzun sonuşlar geliyor.
Yardımlarınızı bekliyorum.iyi çalışmalar.
Tablo yapınızı bilmemekle birlikte joinleme işleminde bir sıkıntı var gibi.PK ve FK lar üzerinden yapıyorsanız ve ilişkileri bunun üzerinden kuruyorsanız 1 e N lik mi yoksa N e N lik mi bir ilişki olduğuna bakıp ona göre joini değiştirebilirsiniz.
Left join/right join?
iyi çalışmlar..