MsSQL Raporlama

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

MsSQL Raporlama

Mesaj gönderen akissoftware »

Arkadaşlar Herkese Merhaba
Elimde bir veritabanı var. İçerisinde beni ilgilendiren 2 tane tablo var. 1. tablo abone listesi 2.tablo bu abonelerin özelliklerini açıklıyor.

Ben istiyorumki 1.tablodaki kayıt numarası 5001 olan abonenin 2.tablodaki sözleşme başlangıç (bunun id değeri 147) ve sözleşme bitiş (bunun id değeri 148) tarihlerini aynı listede alayım. Raporlama yaptığımda şöyle olacak ;

Ahmet Demir 22/01/2009 22/01/2010

tablodaki alanlar
1. tablo (Object tablosu)
ObjectNumber
Name

2.tablo (ObjExtField tablosu)
ExtFieldID

Yardımlarınızı dört gözle bekliyorum teşekkürler !
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: MsSQL Raporlama

Mesaj gönderen akissoftware »

Arkadaşlar cevap verebilecek kimse yokmu ?
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: MsSQL Raporlama

Mesaj gönderen Rew33 »

tablolarındaki fieldlere göre düzenlersin

Select D.isim,B.Sozlesme,C.Sozlesme from 1.tablo as D
Left Join 2.tablo as B on D.sözleşme başlangıç=B.ExtFieldID
Left Join 2.tablo as C on D.sözleşme bitiş=C.ExtFieldID
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: MsSQL Raporlama

Mesaj gönderen akissoftware »

Ben sizden tekrar yardım istiyorum içinden çıkamadım. O kadar çok deneme yaptımki hala halledemedim. :oops:

Tabloyu aşağıya ekledim. Ana tablodan objectid si 2 olan abonenin, 2. tabloda objectid 147 nin karşısındaki extfieldid si 147 olan exfieldvalue değeri ile birlikte extfieldid si 148 olan exfieldvalue değerlerini tek satırda göstermek istiyorum.

resimlerde olması gerektiği şekilde anlattım. Lütfen yardımcı olun
Resim
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: MsSQL Raporlama

Mesaj gönderen thelvaci »

Kod: Tümünü seç

SELECT 
  Name, 
  (SELECT ExtFieldValue FROM dbo.ObjExtField WHERE ObjectID = @ObjectID AND ExtField = 147) AS [Sözleşme Başlangıç], 
  (SELECT ExtFieldValue FROM dbo.ObjExtField WHERE ObjectID = @ObjectID AND ExtField = 148) AS [Sözleşme Bitiş]
FROM dbo.Object
WHERE ObjectID = @ObjectID
gibi biraz garip bir sql ile halledebilirsiniz.
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: MsSQL Raporlama

Mesaj gönderen akissoftware »

Önce 255 karakterden uzun diye hata verdi. Kısalttım şimdide "must declare the scalar variable "@objectid"" diye hata veriyor çalıştıramadım :S
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: MsSQL Raporlama

Mesaj gönderen conari »

SP yapmadı ise onları 2 olarak değiştir.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: MsSQL Raporlama

Mesaj gönderen akissoftware »

conari yazdı:SP yapmadı ise onları 2 olarak değiştir.
Ne demek istediğinizi anlamadım
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: MsSQL Raporlama

Mesaj gönderen conari »

Kod: Tümünü seç

SELECT 
  Name, 
  (SELECT ExtFieldValue FROM dbo.ObjExtField WHERE ObjectID = 2 AND ExtField = 147) AS [Sözleşme Başlangıç], 
  (SELECT ExtFieldValue FROM dbo.ObjExtField WHERE ObjectID = 2 AND ExtField = 148) AS [Sözleşme Bitiş]
FROM dbo.Object
WHERE ObjectID = 2
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: MsSQL Raporlama

Mesaj gönderen Rew33 »

eklediğin resmi şuan göremiyorum eve geçince daha detaylı bakarım ama söylediklerinden yine bir join yapmak istediğini anladım
ilk verdiğim örneğe bakarak bunuda aynı yöntemle çözebilirsin.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: MsSQL Raporlama

Mesaj gönderen akissoftware »

Hepinize tek tek tek teşekkür ediyorum. Benim sorunumu çözdünüz inşallah Allah(c.c.)ta sizin sorununuzu çözer
Cevapla