Tarih, Gün SQL

Gönderen Konu: Tarih, Gün SQL  (Okunma sayısı 5751 defa)

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: Tarih, Gün SQL
« Yanıtla #15 : 21.09.2012, 16:59 »
hocam bu iki sorgu arasındaki fark nedir neden 2. sorgu çalışmıyor

Select   
CLCARD.CODE AS KODU,
CLCARD.CITY AS ŞEHİR,   
CLCARD.DEFINITION_ AS ÜNVANI,
CLCARD.SPECODE AS PLASİYER,     
CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)>=0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_BORC,  CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)<0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_ALACAK 
FROM LG_008_05_CLFLINE CLFLINE   INNER JOIN LG_008_CLCARD CLCARD ON CLFLINE.CLIENTREF = CLCARD.LOGICALREF AND CLFLINE.CANCELLED=0 AND CLCARD.ACTIVE=0 GROUP BY CLCARD.CODE, CLCARD.CITY, CLCARD.SPECODE, CLCARD.DEFINITION_  HAVING (((CLCARD.CODE) Like 'a%'))   ORDER BY CLCARD.DEFINITION_   

SELECT
lg_008_clcard.CODE         AS ‘KODU’,
lg_008_clcard.DEFINITION_   AS ‘UNVAN’,
lg_008_clcard.SPECODE      AS ‘PLS’,
lg_008_clcard.CITY         AS ‘ŞEHİR’,
CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)>=0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_BORC,  CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)<0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_ALACAK 
FROM LKSDB.dbo.LG_008_05_CLFLINE INNER JOIN LKSDB.dbo.lg_008_clcard
ON LG_008_05_CLFLINE.CLIENTREF = lg_008_clcard.LOGICALREF WHERE (CLCARD.ACTIVE=0) ORDER BY DEFINITION_

Çevrimdışı ARSLAN_Aslan

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 3
  • yazilimyeri.com
Ynt: Tarih, Gün SQL
« Yanıtla #16 : 21.09.2012, 17:10 »
halis önce sonuç elde edilmiş size fikir versin katkı olsun diye biraz şekillendirdim.
SQL bana Logo öğretti :)

yol uzun, bu başlangıçsa çıtayı yüksekten yakalamışsın. kolay gelsin.

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: Tarih, Gün SQL
« Yanıtla #17 : 21.09.2012, 17:13 »
VALLA hocam işte ben bana lazım olanın peşindeyim bende sorgular var takıldığım noktalarda sorgulara bakıyorum ama şu borç alacak raporunun arasındaki farkı bulamadım sorun nerden kaynaklanıyor 2. si çalışmıyor şu hatayı veriyor select deyimi içinde seç listesinden sonra sum gelemez

Çevrimdışı ARSLAN_Aslan

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 3
  • yazilimyeri.com
Ynt: Tarih, Gün SQL
« Yanıtla #18 : 21.09.2012, 17:24 »

Select   
CLCARD.CODE AS KODU,
CLCARD.CITY AS ŞEHİR,   
CLCARD.DEFINITION_ AS ÜNVANI,
CLCARD.SPECODE AS PLASİYER,     

CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)>=0
THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)
ELSE 0 END AS BAKIYE_BORC, 

CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)<0
THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_ALACAK 

FROM LG_008_05_CLFLINE CLFLINE   
      INNER JOIN LG_008_CLCARD CLCARD ON CLFLINE.CLIENTREF = CLCARD.LOGICALREF
         AND CLFLINE.CANCELLED=0
           AND CLCARD.ACTIVE=0
GROUP BY CLCARD.CODE, CLCARD.CITY, CLCARD.SPECODE, CLCARD.DEFINITION_  --- Cari Karta göre grupla
HAVING (((CLCARD.CODE) Like 'a%'))   -- Cari Kodu a ile başlayanlar koşulu
ORDER BY CLCARD.DEFINITION_    -- Cari Açılmaya göre sırala


--- Sorguyu anlamak için bu hale şekle getirmek lazım.
--- GROUP By ile gruplama yapmış, Sum toplama yapmış.
--- AS ‘KODU’, bu şekilde yazılmaz tırnak iki kelimeli açıklamalar içindir. Birde ' şeklinde kullanılır.
--- Bu sorguda sana uymayan nedir ?
« Son Düzenleme: 21.09.2012, 17:25 Gönderen: Maruf ARSLAN »

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Tarih, Gün SQL
« Yanıtla #19 : 21.09.2012, 17:25 »
Düzeltilmiş hali sen karşılaştır .

SELECT
lg_011_clcard.CODE         AS KODU,
lg_011_clcard.DEFINITION_   AS UNVAN,
lg_011_clcard.SPECODE      AS PLS,
lg_011_clcard.CITY         AS ŞEHİR,
CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*LG_011_01_CLFLINE.AMOUNT)>=0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*LG_011_01_CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_BORC,  CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*LG_011_01_CLFLINE.AMOUNT)<0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*LG_011_01_CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_ALACAK 
FROM LKSDB.dbo.LG_011_01_CLFLINE INNER JOIN LKSDB.dbo.lg_011_clcard
ON LG_011_01_CLFLINE.CLIENTREF = lg_011_clcard.LOGICALREF WHERE (LG_011_CLCARD.ACTIVE=0)
GROUP BY lg_011_clcard.CODE,lg_011_clcard.DEFINITION_,lg_011_clcard.SPECODE,lg_011_clcard.CITY 
ORDER BY DEFINITION_

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: Tarih, Gün SQL
« Yanıtla #20 : 21.09.2012, 17:31 »
ŞÖYLE söyliyim bu sorguda çalışmayan nedir.

Select   
CLCARD.CODE AS KODU,
CLCARD.CITY AS ŞEHİR,   
CLCARD.DEFINITION_ AS ÜNVANI,
CLCARD.SPECODE AS PLASİYER,

CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)>=0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_BORC, 

CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)<0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_ALACAK 
FROM
LG_008_05_CLFLINE INNER JOIN lg_008_clcard
ON LG_008_05_CLFLINE.CLIENTREF = lg_008_clcard.LOGICALREF GROUP BY CODE, DEFINITION_, SPECODE, CITY ORDER BY DEFINITION_


having group by order by bunlar bildiğim kadarıyla kriterlerdir. sorgu açılsa o kriterleri verebiliyorum ama hiç açılmıyor

Çevrimdışı ARSLAN_Aslan

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 3
  • yazilimyeri.com
Ynt: Tarih, Gün SQL
« Yanıtla #21 : 21.09.2012, 17:35 »
benim enson yazdığım sorguda açıklamalı. ama anlatamadık :(

senin firma 008 kodlu mu? dönem 05 mi ?
« Son Düzenleme: 21.09.2012, 17:37 Gönderen: Maruf ARSLAN »

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Tarih, Gün SQL
« Yanıtla #22 : 21.09.2012, 17:37 »
yukarıda CLCARD alias kullanmışsın ama bunu FROM da belirtmemişsin


FROM LG_011_CLCARD CLCARD şeklinde .

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Tarih, Gün SQL
« Yanıtla #23 : 21.09.2012, 17:39 »
Select   
CLCARD.CODE AS KODU,
CLCARD.CITY AS ŞEHİR,   
CLCARD.DEFINITION_ AS ÜNVANI,
CLCARD.SPECODE AS PLASİYER,


CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)>=0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_BORC, 

CASE WHEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT)<0 THEN Sum(Case when SIGN=0 then 1 ELSE -1 END*CLFLINE.AMOUNT) ELSE 0 END AS BAKIYE_ALACAK 
FROM
LG_011_01_CLFLINE CLFLINE INNER JOIN lg_011_clcard CLCARD
ON CLFLINE.CLIENTREF =clcard.LOGICALREF GROUP BY CODE, DEFINITION_,CLCARD.SPECODE, CITY ORDER BY DEFINITION_

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Tarih, Gün SQL
« Yanıtla #24 : 21.09.2012, 17:39 »
Öğrenmek icin bu kadar karmaşık olanlardan başlama .

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: Tarih, Gün SQL
« Yanıtla #25 : 21.09.2012, 17:44 »
 AND CLFLINE.CANCELLED=0
BUNDAN DOLAYI OLABİLİR Mİ

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Tarih, Gün SQL
« Yanıtla #26 : 21.09.2012, 17:51 »
ya halis okumayıda mıo unuttun ,neden çalışmadıgını yazdım ,


yukarıda CLCARD ve CLFLINE alias kullanmışsın ama bunu FROM da belirtmemişsin


FROM LG_011_CLCARD CLCARD ve LG_011_01_CLFLINE CLFLINE şeklinde .

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: Tarih, Gün SQL
« Yanıtla #27 : 21.09.2012, 17:57 »
TAMAM hocam o şekliylen gördüm idare et işte acemiyiz :)

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Tarih, Gün SQL
« Yanıtla #28 : 21.09.2012, 18:01 »
Hadi bakalım öyle olsun :)

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: Tarih, Gün SQL
« Yanıtla #29 : 21.09.2012, 18:29 »
TAMAM şimdi çaktım olayı tam olarak :) TEŞEKKÜRLER  bir daha alias olarak lg_008_ kullanmayacağım öyle olunca olmuyor