Konuyu görüntüle
IUCODERS FORUM > Programlama > Veritabanları > Farklı bir tablodan gelen değişkene göre ORDER BY yapmak ???
Yazar
ogencay


avatar
Istanbul
banlandı
Kayıt: 02.03.2006
14.07.2010-08:59 #70337
Arkadaşlar aşağıdaki gibi bir sql cümlesi yazdım.

SELECT DISTINCT uye_ID FROM forecast,users
WHERE forecast.uye_ID=users.kullanici_adi AND hafta_ID=" & hafta & " AND users.sinif='BSS'"


Yaptığı şey oracle db den kullanıcı adlarını çekerek bunları hafta ve sınıf koşullarına göre göstermek. Ama bir isteğim daha var. Bunları ekrana basarken yine forecast tablosu ile ilgili olarak aşağıdaki srogunun sonucundaki değerlere göre ORDER BY yapmak istiyorum. Nasıl bi yol izleyebilirim.
DB'ci arkadaşlardan yardım istiyorum.

Select SUM(adet) AS toplam from forecast
WHERE uye_ID='"&userstoplam("uye_ID")&"' AND hafta_ID=" & hafta & "






There`s No Place Like 127.0.0.1

Yazar
faraday


avatar

Kayıt: 08.05.2009
14.07.2010-09:18 #70338
ogencay yazdi [quote].............[quote]
Ben anlamadım tam olarakd oh
forecast tablosunu kendi üzerine joinleyip ordan gelen sum() a göre order by yapsan olmuyomu.?





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
14.07.2010-09:21 #70339
sorgunun sonuna "order by field" ekleyerek sıralayabilirsin. Birden fazla alana göre sıralı olsun istersen "order by field1,field2" diyerek yapabilirsin. Eğer ters sıralamak istersen "order by field desc" eklemelisin.

SELECT DISTINCT uye_ID FROM users  
inner join forecast on forecast.uye_ID=users.kullanici_adi 
where hafta_ID=" & hafta & " AND users.sinif='BSS'"  
order by uye_ID


edit: Yanlış anlamışım. Bence 2. sorguyu bi view olarak oluştur. Sonra join et öyle order yap.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
ogencay


avatar
Istanbul
banlandı
Kayıt: 02.03.2006
14.07.2010-09:32 #70340
İkinci sorguyu tekrar forecast tablosuna join edemiyorum çünkü çalışanlar farklı modeller için forecast verebiliyorlar. Yani forecast tablosunun görünümü şu şekilde >>




Bana lazım olan bir kullanıcının belirli bir hafta için verdiği tüm modelleri içeren forecasting miktarına göre sıralama yapmak. Yani örneğin Begüm'ün 28. hafta içerisinde tüm Samsung modelleri için verdiği forecast adetlerinin toplanıp sonuca göre sıralamaya girmesi lazım.





There`s No Place Like 127.0.0.1

Yazar
faraday


avatar

Kayıt: 08.05.2009
14.07.2010-09:44 #70341
SELECT DISTINCT uye_ID FROM users     
inner join forecast on forecast.uye_ID=users.kullanici_adi    
INNER JOIN 
(
Select uye_ID,SUM(adet) AS toplam from forecast   
WHERE  hafta_ID=" & hafta & " 
GROUP BY uye_ID
) SQ  ON  SQ.uye_ID = users.kullanici_adi 

where hafta_ID=" & hafta & " AND users.sinif='BSS'"     
ORDER BY SQ.toplam DESC


böyle olur mu ?confused

Edit : oracle demişsin ama bu t-sql oldu sıkıntı çıkaran bi yeri olur mu bilmiyorum.





Yazar
ogencay


avatar
Istanbul
banlandı
Kayıt: 02.03.2006
14.07.2010-10:00 #70342
faraday yazdi
 
SELECT DISTINCT uye_ID FROM users     
inner join forecast on forecast.uye_ID=users.kullanici_adi    
INNER JOIN 
(
Select uye_ID,SUM(adet) AS toplam from forecast   
WHERE  hafta_ID=" & hafta & " 
GROUP BY uye_ID
) SQ  ON  SQ.uye_ID = users.kullanici_adi 

where hafta_ID=" & hafta & " AND users.sinif='BSS'"     
ORDER BY SQ.toplam DESC


böyle olur mu ?confused

Edit : oracle demişsin ama bu t-sql oldu sıkıntı çıkaran bi yeri olur mu bilmiyorum.


Olabilir aslında bir deneyim. Oracle ile ilgili problem yok arka tarafta sürekli çalışarak oracle ile benim tablomu senkronize eden bağlantı var. Teşekkür ederim.





There`s No Place Like 127.0.0.1

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb