İyi günler. Bir SQL sorunum var? String bir alan bilgisini ardışık toplam olarak almanın yolu var mıdır? Örnekle söylersem:
Adı No
--- ---
Ali 1
Veli 2
Cem 3
mesela select Sum(No) from tablo bana 6 değerini üretecek ama ben select Sum(Adı) from tablo gibi bir sorgu sonucunda AliVeliCem değeri elde etmek istiyorum. Bunu yapmanın bir yolu var mıdır? Veya başka bir yol ile ben bu değeri nasıl elde ederim?
string değerlerin bir aradaki sorgusu
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
string değerlerin bir aradaki sorgusu
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Selamlar,
M$-SQL Server2005'de bu özellik SELECT'e eklenmişti (SELECT'in helpinde olması lazım, şu anda hatırlayamıyorum.) ama tanıtımlarından birinde şöyle bir şeyden bahsedilmişti.
SELECT cümlesini kullandığınızda, string değerleri, aralarına istediğiniz bir işaret koyarak yanyana oluşturulmuş bir result set döndürebiliyorsunuz denmişti ve örnek cümle gösterilmişti.
Sanırım tam aradığınız şey ama M$-SQL Server 2005 versiyonunda var bu özellik. Daha öncesinde yok, daha öncesinde yapmak isterseniz, bir SP yazacaksınız (benim ilk aklıma gelen çözüm) bu SP içerisinde varchar bir değişken tutacaksınız. Select'ten dönen Result Set'i CURSOR içinde turlayarak, bu değişkene manuel ekleyeceksiniz ve sonuç olarak da elde ettiğiniz bu değişkeni result olarak döndüreceksiniz.
Kolay Gelsin
M$-SQL Server2005'de bu özellik SELECT'e eklenmişti (SELECT'in helpinde olması lazım, şu anda hatırlayamıyorum.) ama tanıtımlarından birinde şöyle bir şeyden bahsedilmişti.
SELECT cümlesini kullandığınızda, string değerleri, aralarına istediğiniz bir işaret koyarak yanyana oluşturulmuş bir result set döndürebiliyorsunuz denmişti ve örnek cümle gösterilmişti.
Sanırım tam aradığınız şey ama M$-SQL Server 2005 versiyonunda var bu özellik. Daha öncesinde yok, daha öncesinde yapmak isterseniz, bir SP yazacaksınız (benim ilk aklıma gelen çözüm) bu SP içerisinde varchar bir değişken tutacaksınız. Select'ten dönen Result Set'i CURSOR içinde turlayarak, bu değişkene manuel ekleyeceksiniz ve sonuç olarak da elde ettiğiniz bu değişkeni result olarak döndüreceksiniz.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Aklın yolu birmiş Sn. Kuri_YJ, bende şöyle ıssız bir ortamda uzun uzun düşünürken (şu Türkler için meşhur mucitlik ortamı
) SP yazmak geldi aklıma. SP konusunda zayıfım ama siz buradan sakın cevap yazmayın ben biraz çalışayım. Öylesi daha zevkli oluyor. Çözemezsem buradan yazarım çözersemde yazarım ama şimdi çözüm adına biraz çalışayım gayrı. Öneriniz için teşekkürler iyi çalışmalar.

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Selamlar,
Zaten ben genelde hazırlöp çözümlerden çok mantık yönünde yardımcı olmaya çalışırım. Ama hiç kod yardımı yapmıyor da değilim.
Genelde arkadaşların sıkıştıkları yerde code'larını inceleyip öneri vermek daha iyi oluyor. zira arkadaşlar da kendileri üretip mantıkları öğrenmiş oluyorlar. Bu daha iyi bir çözüm.
Kolay Gelsin
Zaten ben genelde hazırlöp çözümlerden çok mantık yönünde yardımcı olmaya çalışırım. Ama hiç kod yardımı yapmıyor da değilim.
Genelde arkadaşların sıkıştıkları yerde code'larını inceleyip öneri vermek daha iyi oluyor. zira arkadaşlar da kendileri üretip mantıkları öğrenmiş oluyorlar. Bu daha iyi bir çözüm.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Kod: Tümünü seç
CREATE PROCEDURE tablo_genis
AS
declare
@ST nvarchar(10), @TOP nvarchar(500)
begin
Declare curpos CURSOR static FOR
SELECT Ref FROM Tablo
OPEN curpos
FETCH First FROM curpos into @ST
WHILE (@@FETCH_STATUS = 0)begin
SET @TOP=isNull(@TOP,'')+isNull(@ST,'')
FETCH Next FROM curpos into @ST
end
CLOSE curpos
DEALLOCATE curpos
select @TOP
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .