Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » sql server'da rowlar arasında concat işlemi


Yanıt
 
LinkBack Seçenekler
Old 01.02.2005   #1 (permalink)
 
stalker's Avatar
 
Üyelik Tarihi: 01.11.2000
Yer: İstanbul
Yaş: 27
Mesaj: 713
sql server'da rowlar arasında concat işlemi


SQL server üzerinde aralarında one-to-many ilişkisi olan iki tablom var. Şöyle diyelim: Bir tabloda araba markaları diğer tabloda o markanın modelleri var.

Kod:
markalar: id - isim
            1- opel
            2- mercedes


modeller: marka_id - isim
                1- astra
                1 - vectra
                2 - slx
                2 - kompressor
gibi. Yapılması gereken query'nin sonucunda
1|opel|astra,vectra
2|mercedes|slx,kompressor

gibi bir sonuç döndürmek. Mesele rowları bir çeşit concatenation işlemine tabi tutmak. SQL server'da concat fonksiyonu yok, bu işlem + ile yapılıyor. Benzer bir sorun ile karşılaşan var mı,çözümü bilen?
__________________
life is better without braces
stalker şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.02.2005   #2 (permalink)
 
uzaytek's Avatar
 
Üyelik Tarihi: 06.07.2001
Yer: Ankara
Yaş: 33
Mesaj: 679
Re: sql server'da rowlar arasında concat işlemi

neden join ile yapmıyorsun? bir şey kaçırdım galiba
__________________
uzaytek.com
uzaytek şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.02.2005   #3 (permalink)
 
stalker's Avatar
 
Üyelik Tarihi: 01.11.2000
Yer: İstanbul
Yaş: 27
Mesaj: 713
Re: sql server'da rowlar arasında concat işlemi

Join ile olacak birşey değil bu. Mesele rowları bir kolon içinde birleştirmek.
UDF ile olur aslında, yapınca paste ederim buraya fonksiyonu.
__________________
life is better without braces
stalker şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.02.2005   #4 (permalink)
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,951
Re: sql server'da rowlar arasında concat işlemi

fetch ile de alabilirsin, ama anlamsız da olabilir tabi bu
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 22.07.2005   #5 (permalink)
 
Üyelik Tarihi: 01.01.2003
Yer: Şehir içi
Mesaj: 7
Re: sql server'da rowlar arasında concat işlemi

Sorunun yanıtı çıkmadı mı henüz?
Flashokulu şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 22.07.2005   #6 (permalink)
 
stNonStop's Avatar
 
Üyelik Tarihi: 16.02.2002
Yer: İstanbul
Yaş: 29
Mesaj: 1,809
Görsel: 5
Re: sql server'da rowlar arasında concat işlemi

Stalker yapmak istediği sanırsam nested table. yani bir datasetin bir filedına başka bir database deki verileri almak. Bunu ben genellikle BCB ile programlama yaparken kullanıyorum. 1. Grid de ana veriler oluyor yani mercedes veya opel gibi İkinci Grid ise alt modelleri göstermekte kullanıyorum. Herhangi bir sorgu yapmama gerek kalmadan. 1. Griddeki değeri değiştirmemle 2. grid otomatikman değişiyor. Fakat bunu salt SQL le değilde Dataset, Datasetprovider ve clientdataset objelerini kullarak yapıyorum.
__________________
St. Nonstop

Elektronik ve Haberleşme Mühendisi
Aziz DURMAZ
stNonStop şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 23.07.2005   #7 (permalink)
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,951
Re: sql server'da rowlar arasında concat işlemi

Table 1:
Kod:
CREATE TABLE [tbl_marka] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[marka] [varchar] (50) COLLATE Turkish_CI_AS NULL ,
	CONSTRAINT [PK_tbl_merka] PRIMARY KEY  CLUSTERED 
	(
		[id]
	)  ON [PRIMARY] 
) ON [PRIMARY]
GO
Table 2:
Kod:
CREATE TABLE [tbl_model] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[marka_id] [int] NOT NULL ,
	[model] [varchar] (50) COLLATE Turkish_CI_AS NULL ,
	CONSTRAINT [PK_tbl_model] PRIMARY KEY  CLUSTERED 
	(
		[id]
	)  ON [PRIMARY] 
) ON [PRIMARY]
GO
Stored Procedure :
Kod:
CREATE TABLE #tmpTable (
	mID numeric,
	marka varchar(50),
	modeller varchar(7950))

DECLARE @RETURN varchar(8000), @mID numeric, @mName varchar(50), @modName varchar(50)

DECLARE fMarka CURSOR FOR
SELECT id, marka 
	FROM tbl_marka

OPEN fMarka
WHILE (0=0)
BEGIN
	FETCH NEXT FROM fMarka INTO @mID, @mName
	IF @@FETCH_STATUS<>0 BREAK
	
	DECLARE fModel CURSOR FOR
	SELECT model
		FROM tbl_model
		WHERE marka_id = @mID
	
	OPEN fModel
	
	SET @RETURN = ''
	WHILE (0=0)
	BEGIN
		FETCH NEXT FROM fModel INTO @modName
		IF @@FETCH_STATUS<>0 BREAK
	
		IF @RETURN <> '' SET @RETURN = @RETURN + ', '
		SET @RETURN = @RETURN + @modName
	END
	
	CLOSE fModel
	DEALLOCATE fModel

	INSERT INTO #tmpTable (mID, marka, modeller) VALUES (@mID, @mName, RTrim(@RETURN))
END

CLOSE fMarka
DEALLOCATE fMarka
SELECT * FROM #tmpTable
DROP TABLE #tmpTable

GO
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

islemi , concat , arasinda , rowlar , serverda , sql



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online oyun photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 12:53.