Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 11/12/2007, 16:55   #1 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Mutsuz Sql - Right Join

Merhaba,
Aşağıdaki SQL komutumda bir bazı kayıtlar tekrarlanıyor.

Aynı tarih ve aynı poliçe numarasına sahip kayıtların tek sefer yazmasını istiyorum.

Nerede eksiklik yapıyorum acaba




PHP Kodu:
 SELECT CariHareket.MusterikoduCariHareket.TarihiCariHareket.BKCariHareket.PNCariHareket.islemtipiCariHareket.EvraknoCariHareket.BorcAlacakSum(CariHareket.Tutar) AS ToplaTutarCariHareket.ParaBirimiPolice1.Plaka
FROM Police1 RIGHT JOIN 
(CariKart INNER JOIN CariHareket ON CariKart.Musterikodu CariHareket.MusterikoduON Police1.PoliceNo CariHareket.PN
WHERE 
(((CariHareket.DeleteUser)="" Or (CariHareket.DeleteUserIs Null) AND ((CariKart.DeleteUser)="" Or (CariKart.DeleteUserIs Null))
GROUP BY CariHareket.MusterikoduCariHareket.TarihiCariHareket.BKCariHareket.PNCariHareket.islemtipiCariHareket.EvraknoCariHareket.BorcAlacakCariHareket.ParaBirimi,Police1.Plaka
HAVING 
(((CariHareket.Musterikodu)="000123"))
ORDER BY CariHareket.Tarihi 
Eklenmiş Grafikler
File Type: jpg 1.JPG (183.5 KB, 21 views)
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 12/12/2007, 00:34   #2 (permalink)
empty
 
UuuR Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2007
Mesaj: 728
Varsayılan

sorgu büyük olduğundan tamamını incelemek çok zamn alır ama fikir yürütmek istedim;
- distinct kullanmayı dene
veya
- right join yerine left join yazarak dene birde
__________________
artık yok..
UuuR hatta değil   Alıntı Yaparak Yanıtla
Eski 12/12/2007, 00:43   #3 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

Yorumun için teşekkür ederim
Queryi hazırlayıp programa göndermeden önce test ediyorum.
Left join ile rigth joini kullandım. Olmadı

Aşağıdaki sorguda cari ekstreye ulaşmayı başardım,
Ancak detay için bir bilgi daha cagırdığım zaman işte o zaman bazı kayıtlar ( joinden tahmin ediyorum ) çift dökülüyor.

INNER join , left ve right joinle çözemedim.


Kod:
SELECT CariHareket.Musterikodu, CariHareket.Tarihi, CariHareket.BK, CariHareket.PN, CariHareket.islemtipi, CariHareket.izahat, CariHareket.BorcAlacak, Sum(CariHareket.Tutar) AS ToplaTutar, CariHareket.ParaBirimi
FROM CariKart INNER JOIN CariHareket ON CariKart.Musterikodu = CariHareket.Musterikodu
WHERE (((CariHareket.DeleteUser)="" Or (CariHareket.DeleteUser) Is Null) AND ((CariKart.DeleteUser)="" Or (CariKart.DeleteUser) Is Null))
GROUP BY CariHareket.Musterikodu, CariHareket.Tarihi, CariHareket.BK, CariHareket.PN, CariHareket.islemtipi, CariHareket.izahat, CariHareket.BorcAlacak, CariHareket.ParaBirimi
HAVING (((CariHareket.Musterikodu)="000123"))
ORDER BY CariHareket.Tarihi;

Sonuç itibari ile hala bir yerlerde eksiklik yapıyorum
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 12/12/2007, 01:09   #4 (permalink)
Ebu
İptal Durumu
 
Üyelik Tarihi: 12/2007
Mesaj: 138
Varsayılan

Tablo yapısını yazabilir misiniz?..
Ebu hatta değil   Alıntı Yaparak Yanıtla
Eski 12/12/2007, 04:09   #5 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

İyi geceler,

Database tablomun bir örneği ektedir.

1 nolu resmindeki cari ekstreyi çekiyorum.
Ancak 2 nolu detaylı ekstreyi çekemiyorum.

Amacım 2 nolu ekstreyi çekebilmek.

Yardımlarınız için teşekkür ederim
Eklenmiş Grafikler
File Type: jpg EKSTRE 1.JPG (62.4 KB, 20 views)
File Type: jpg 2.JPG (66.2 KB, 23 views)
Eklenmiş Dosyalar
File Type: rar Data.rar (53.0 KB, 14 views)
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 13/12/2007, 01:46   #6 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

Lütfen biraz yardım..

Konuyu Şöyle Özetliyeyim


Poliçe tablosunda tek satırda tüm bilgiler yer almaktadır.
Carihareket tablosunda ise poliçenin ödeme vadesine göre açılımı yapılmaktadır.

Amacımız CARİHAREKET tablosundan aşağıdaki resimdeki gibi DETAYLI Carihesap ekstresi çekmek.



Yani sonuç Şu şekilde olmalı
Tarih ----İşlemtipi------ PoliçeNo----- Açıklama------ ----- Borç-----Alacak
  • Aynı tarihteki aynı poliçelerin poliçelerin tutarı toplanacak açıklamada adres yada plaka yazacak
  • Kredi Kartı ödemesi ise aynı şekilde vadesini gösterir şekilde 3 kalemde yazacak

==================================================




POLİÇE TABLOSU
Tarih - Müş.Kodu - PoliçeNo - Vade ----- Tutarı- Plaka-------Adresi
21.07.2007 -012 - 9998721 --- 21.07.07------ 221 --- 34AZ 890 --------------
01.01.2007 -012 - 2102020 --- 01.10.07------ 60 -----34AZ 890----------------
01.01.2007 -012 - 8502789 --- 11.11.07------ 111----------- Koşuyolu Merkez Cad. No:1


CARİHAREKET TABLOSU
Tarihi-Müş.Kodu --PoliçeNo--Vade --- VadeTutarı--İşlemtipi--KartFormNo-Tip
21.01.2007 --012 ---9998721 ---- 21.07.07------ 221 -------Police----------------------B
01.10.2007 --012 ---2102020 ---- 01.10.07------ 20 ---------Police---------------------B
01.10.2007 --012----2102020 ---- 01.11.07------ 20 ---------Police---------------------B
01.10.2007 --012 ---2102020 ---- 01.12.07------ 20 ---------Police----------------------B
13.10.2007 --012 ------------------15.10.07------ 20 ----------KrediKartı---2575757----A
13.10.2007 --012 ------------------15.11.07------ 20 ----------KrediKartı---2575757----A
13.10.2007 --012 ------------------15.12.07------ 20 ----------KrediKartı---2575757---A
14.12.2007 --012 ----8502789 ---14.12.07------ 111 ---------Police---------------------B
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 14/12/2007, 17:32   #7 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

Fikri olan yokmuu

Haydi cevizcileeeer
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 14/12/2007, 18:35   #8 (permalink)
katodivaihe
 
Psychaos Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2003
Yer: istanbul
Mesaj: 693
Varsayılan

bana SQL sorgun hatalı gibi geldi..

Hangi alanlardan hangi tablolara ulaşıyorsun acaba tam olarak yazabilir misin?
__________________
» My Blog
» docums.net
Psychaos hatta değil   Alıntı Yaparak Yanıtla
Eski 14/12/2007, 22:09   #9 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

Hocam ( en alttaki ) 2 tablomuz var.

Carihareket tablosundan aşağıdaki sonucu çıkartmaya çalışıyorum

Tarih ---- İşlemtipi-- PoliçeNo-- Açıklama---------Vade------- Borç---Alacak
01.01.2007 --Poliçe----- 2102020 --- 34 AZ 890----------01.01.2007----- 60 ------0
01.01.2007 --Poliçe----- 9998721 --- 34 AZ 890----------01.01.2007----- 221------0
21.01.2007 --Poliçe----- 8502789 --- ABC Cad. No:1----01.01.2007----- 111------0
13.10.2007 --KrediKartı----------------2575757-----------15.10.2007-------0-------20
13.10.2007 --KrediKartı----------------2575757-----------15.11.2007-------0-------20
13.10.2007 --KrediKartı----------------2575757-----------15.12.2007-------0-------20


Sonucu böyle istiyoruz. Bunu çekmeye çalışırken;

Carihareket tablosunda aynı tarihteki aynı poliçelerin poliçelerin tutarı toplanıp açıklamada olarak hangisi dolu ise adres yada plaka yazacak

Hepsi bu kadar. Bir türlü beceremedim.

Yardım lütfenn




TABLOLAR




CARİHAREKET TABLOSU
Tarihi-Müş.Kodu --PoliçeNo--Vade --- VadeTutarı--İşlemtipi--KartFormNo-Tip
21.01.2007 --012 ---9998721 ---- 21.07.07------ 221 -------Police----------------------B
01.10.2007 --012 ---2102020 ---- 01.10.07------ 20 ---------Police---------------------B
01.10.2007 --012----2102020 ---- 01.11.07------ 20 ---------Police---------------------B
01.10.2007 --012 ---2102020 ---- 01.12.07------ 20 ---------Police----------------------B
13.10.2007 --012 ------------------15.10.07------ 20 ----------KrediKartı---2575757----A
13.10.2007 --012 ------------------15.11.07------ 20 ----------KrediKartı---2575757----A
13.10.2007 --012 ------------------15.12.07------ 20 ----------KrediKartı---2575757---A



POLİÇE TABLOSU
Tarih - Müş.Kodu - PoliçeNo - Vade ----- Tutarı- Plaka-------Adresi
01.01.2007 -012 - 2102020 --- 01.10.07------ 60 -----34AZ 890----------------
01.01.2007 -012 - 8502789 --- 11.11.07------ 111----------- Koşuyolu Merkez Cad. No:1
21.07.2007 -012 - 9998721 --- 21.07.07------ 221 --- 34AZ 890 --------------




Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 14/12/2007, 22:44   #10 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

Şimdi daha net anlattım sanırım
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
inner join hakkında selected Veritabanları & SQL 7 04/06/2008 23:43
FULL OUTER JOIN ve LEFT OUTER JOIN Fatih.Ziya Veritabanları & SQL 8 22/08/2007 19:35
Join, As, On komutlari. xam Veritabanları & SQL 10 10/06/2006 20:21
join sorunu bahtiyarsenoglu Veritabanları & SQL 8 25/05/2006 03:06
Sql - inner join ? tr_den® Veritabanları & SQL 2 22/04/2005 09:22


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 23:21.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net