SQl Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
beyaz_01
Üye
Mesajlar: 22
Kayıt: 21 Nis 2005 02:38
Konum: Adana
İletişim:

SQl Sorunu

Mesaj gönderen beyaz_01 »

Merhaba arkadaşlar..2 tane tablom var birbiriyle ilişkili.bir tabloda urunlerin kodlari (indeks sutunu) ve urunlerin adlari var.Diger tabloda bu urunlerin hareketleri var.urun hareketleri tablosundaki 'urun' kolonuna urun kodunu kaydediyorum.
Bu urun hareketleri tablosunda ayni urunleri group by yapip toplamlarini aliyorum(raporlama icin).Yalniz, dogal olarak datagridde urun bolumunu kod olarak gosteriyor.Kod olarak gorunen urunun (bir sekilde) urun adi olarak gostermek istiyorum.(urun tablosundan, o koda sahip olan urun ismi).nasil yaparim??
Not: group by kullaniyorum..
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

dbgridin üzerine iki kere tıkla açılan dialog pancerisnde KOD alanını bul ordanda propertieste title yi bul ve oraya istediğinin yaz.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

S.A..

İşine yarar umarım
A = ad ve kodun
B = hereketlerın olduğu table olarak yaptım

Kod: Tümünü seç

SELECT A.Ad, SUM( B.Toplam )
FROM "a.db" A
   RIGHT OUTER JOIN "b.db" B
   ON  (B.Kod = A.Kod)  
GROUP BY A.Ad
Not : SQL Bulder'i kullanarak yaptım. Bilgin olsun :lol:

Saygılarımla
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

sTb arkadaşın dediği gibi de olur.
sen grid olarak delphini giridini mi kullanıyorsun bilmiyorum ama cxgridin colum özelliği var.yani sen orayı lookuop combobox koyarak o dediğin işi görebilirsin.herhangi bir sqlle gerek kalmadan.
Kullanıcı avatarı
beyaz_01
Üye
Mesajlar: 22
Kayıt: 21 Nis 2005 02:38
Konum: Adana
İletişim:

Mesaj gönderen beyaz_01 »

İstedim gridte kodu:11 başlayanları listelerken o Kodla Başlayan (Malzeme_Cinsi) den Yazmasını istiyorum.Aşağıdaki(kod) satırlarına nasıl ekleme yapabilirim.Şimdiden Teşekkür ederim.
var
a:string;
begin
a:='11';
begin
Query1.Close;
Query1.SQl.Clear;
Query1.SQL.Add('select Malzeme, sum(Miktar*Girdi_Cikti)Mevcut from Malzeme,stok where Malzeme like:a group by Malzeme');
Query1.ParamByName('a').AsString:=a+'%';
Query1.open;
not:Bir sonuca varında nasıl yapıldığını Sizlerle Başlaşacam Arkadaşlar.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

yanlış hatırlamıyorsam orda lookoup alan kullanman gerekiyor. gride yeni bi tane alan ekle forma da bitene query koy queryi anatablona bağla

gritteki bu alanı lookoup yapıp bu queryi ye bağla

kusura bakma yanımda delphi olmadığı için ancak böyle ceyap verebiliyorum . birde aynı şeyi bende yapmaya çalışmıştım ama yanlış hatırlamıyoprsam olmamıştı. ama benim uğraşacak çok fazla zamanım olmadığı için bu bilgiyi başka bir yerde göstermek durumunda kalmıştım :

not: biraz önce konuyu tam anlamadığımiçin öyle bir yazı yazdım kusura bakma
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

Valla göndermiş olduğun kodla ilgili birşey söyleyemiyecem ama daha önce gönderdiğim koda

Kod: Tümünü seç

WHERE  A.Kod LIKE '11%' 
ilave edersen "11" ile başlayanları görüntüleye bilirsin.

Saygılarımla
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
Kullanıcı avatarı
beyaz_01
Üye
Mesajlar: 22
Kayıt: 21 Nis 2005 02:38
Konum: Adana
İletişim:

Mesaj gönderen beyaz_01 »

lookup kulladım birtürlü istediğim gibi olmadı.Arkadaşlar verdiğim kod satırlarına ekleme yapılmaz mı?Tüm formlarımda lookup kullandım bu formumda sQl kodları ile yazdım.Dbgridte olmasın sebebi aynı zaman Raporlamada gridtekileri kullanacam.Stokhareketlerini Daha Ayrılı olması için şuan benim yazımdım kodlarla sadece (kodu,Mevcut)Yazıyor.(Malzeme _Cinsini) ne Yaptıysam,olmadı.

Yardımlarınız için Çok teşekür edirim.
Saygılarımla
Kullanıcı avatarı
beyaz_01
Üye
Mesajlar: 22
Kayıt: 21 Nis 2005 02:38
Konum: Adana
İletişim:

Sorunu halletim arkadaşlar

Mesaj gönderen beyaz_01 »

Kodlarda şu Şekilde değişiklik yaparak hallettim
Kodlar:var
a:string;
begin
a:='11';
begin
Query1.Close;
Query1.SQl.Clear;
Query1.SQL.Add('select stok.Malzeme,Malzeme.Malzeme_Cinsi,sum(stok.Miktar*stok.Girdi_Cikti) Mevcut from stok,Malzeme where Malzeme like:a and Malzeme.Kodu=Stok.Malzeme group by stok.Malzeme,Malzeme.Malzeme_Cinsi');
Query1.ParamByName('a').AsString:=a+'%';
Query1.open;
Query1.Refresh;
end;
end;
Cevapla