SQL de Karşılaştırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL de Karşılaştırma

Mesaj gönderen ozcank »

Özür dilerim ben bunu değiştirdim çalışan sorgum bu ;
FISNO filtreleyemiyorum yardımını bekliyorum.
procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
SRapor.Close;
SRapor.SQL.Clear;
SRapor.SQL.Add('SELECT TBLSTHAR.STOK_KODU,TBLSTSABIT.STOK_ADI,TBLSTHAR.FISNO,TBLSTHAR.STHAR_GCMIK,TBLSTHAR.STHAR_TARIH,TBLSTHAR.STHAR_CARIKOD FROM TBLFATUIRS');
SRapor.SQL.Add('INNER JOIN TBLSTHAR ON TBLFATUIRS.CARI_KODU=TBLSTHAR.STHAR_CARIKOD AND TBLFATUIRS.FATIRS_NO=TBLSTHAR.FISNO INNER JOIN TBLSTSABIT ON TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU');
SRapor.SQL.Add('WHERE TBLFATUIRS.FTIRSIP=1 AND TBLFATUIRS.FATIRS_NO=TBLSTHAR.FISNO AND TBLSTHAR.STHAR_CARIKOD='+QuotedStr(Edit1.Text)+'');
SRapor.Open;
end;
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: SQL de Karşılaştırma

Mesaj gönderen unicorn64 »

filtreleme dediğin eğer seçilen fiş numarasına göre kayıtların listelenmesiyse, fişno alanını where kısıtına eklemen gerek cari kodunda yaptığın gibi...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL de Karşılaştırma

Mesaj gönderen ozcank »

Merhaba öncelikle Yardımların için teşekkur ederim.Ben şöyle yaptım;
Form üstüne 1 tane DBEdit ekledim ve onada fısno yu atadım visible yaptım sonra sorguyu da şöyle değiştirdim;

Kod: Tümünü seç


SRapor.SQL.Add('WHERE TBLFATUIRS.FTIRSIP=1 AND  '+QuotedStr(FisNo.Text)+'=TBLSTHAR.FISNO AND TBLSTHAR.STHAR_CARIKOD='+QuotedStr(Edit1.Text)+'');

ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL de Karşılaştırma

Mesaj gönderen ozcank »

Merhaba;
Ben böyle bir tablo create etmek istiyorum ama datetime de hata veriyor nasıl düzeltebilirim? Birde burda dikkat etmem gereken yerler varmı?
aynı cari kod da aynı stok kodu ve fişno sunu tekrar girmemesi gerekiyor bunun gibi.
ECARI_KOD
EFISNO
ESTOK_KODU

Kod: Tümünü seç

CREATE TABLE TBLEMANET (ECARI_KOD VARCHAR(15) NOT NULL, ECARI_ISIM VARCHAR(100) NOT NULL, EFISNO VARCHAR(15) NOT NULL,ESTHAR_TARIH DATETIME(10) NOT NULL ,ESTHAR_GCMIK DECIMAL(13) NOT NULL,ESTOK_KODU VARCHAR(35) NOT NULL,ESTOK_ADI VARCHAR(100) NOT NULL)
Column, parameter, or variable #4: Cannot specify a column width on data type datetime.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: SQL de Karşılaştırma

Mesaj gönderen unicorn64 »

hata mesajı açık, sorun belli, hata mesajını google da bile arasanız cevabı bulursunuz,
ingilizceniz yetmiyorsa translate.google.com var, hatanın ne demek istediğini buraya bakarak anlayabilirsiniz

programlamayı iş olarak yapmak istiyorsanız öncelikle okumalı, işin temelini öğrenmelisiniz, tekrar söylüyorum öncelikle programlama ve sql öğrenmelisiniz, çünkü sorduğunuz sorular çok temel şeyler...

hatanın sebebi

Kod: Tümünü seç

ESTHAR_TARIH DATETIME(10) NOT NULL
kısmı, tarih alanı için uzunluk belirtilmez...

aynı cari kod da aynı stok kodu ve fişno sunu tekrar girilmeyecekse
ECARI_KOD EFISNO ESTOK_KODU alanları üzerinden (üçü birlikte olacak şekilde) unique index oluşturabilirsiniz...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL de Karşılaştırma

Mesaj gönderen ozcank »

Arkadaşlar merhaba ;
Ben bir yerde tıkandım bana yardımcı olurmusunuz? Şöyle;
TBLSTHAR VE TBLSABIT iki adet tablo var bunlarda TBLSTHAR da OLCUBR , TBLSTSABIT de ise FIAT_BIRIMI var
TBLSTHAR.OLCU_BR=1 ve TBLSTSABIT.FIAT_BIRIMI=1 Eşitse OLCU_BR1
TBLSTHAR.OLCU_BR=2 ve TBLSTSABIT.FIAT_BIRIMI=2 Eşitse OLCU_BR2
TBLSTHAR.OLCU_BR=3 ve TBLSTSABIT.FIAT_BIRIMI=3 Eşitse OLCU_BR3 olarak yazdırmalıyım bunu sorguya nasıl entegre edebilirim?

Kod: Tümünü seç

procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
SRapor.Close;
SRapor.SQL.Clear;
SRapor.SQL.Add('SELECT TBLSTHAR.STOK_KODU,TBLSTSABIT.STOK_ADI,TBLSTHAR.FISNO,TBLSTHAR.STHAR_GCMIK,TBLSTHAR.STHAR_TARIH,TBLSTHAR.STHAR_CARIKOD FROM TBLFATUIRS');
SRapor.SQL.Add('INNER JOIN TBLSTHAR ON TBLFATUIRS.CARI_KODU=TBLSTHAR.STHAR_CARIKOD AND TBLFATUIRS.FATIRS_NO=TBLSTHAR.FISNO INNER JOIN TBLSTSABIT ON TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU');
SRapor.SQL.Add('WHERE TBLFATUIRS.FTIRSIP=1 AND '+QuotedStr(FaturaNo.Text)+'=TBLSTHAR.FISNO AND TBLSTHAR.STHAR_CARIKOD='+QuotedStr(Edit1.Text)+'');
SRapor.Open;
end;
Bana bu konuda yardımcı olurmusunuz?
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: SQL de Karşılaştırma

Mesaj gönderen unicorn64 »

bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: SQL de Karşılaştırma

Mesaj gönderen ozcank »

Ben sadece bu sorguya nasıl ekleyebileceğimi sordum bu konuda yardımcı olamazmısınız?
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: SQL de Karşılaştırma

Mesaj gönderen emin_as »

Linkleri veren arkadaş balık vermeyip, balık tutmayı ögretmeye çalışıyor.

Bu sorguyu halletsen, başka sorgu ile tekrar geleceksin. Temel sql bilgilerin yok, basit birkaç makale okusan sql i kısa sürede kavrarsın.
Cevapla