Ben SQL Server 2008'de bu 3 tablo vardır:döngü birçok çoğa-ilişki bir etiket-tabloda eşleşecek şekilde yapmak
Tablo1 - şey
ID Title Tags
---------------------------
1 Test1 a, aa, b
2 Test2 a, b
3 Test3 b, bb
Tablo2 - Etiketler
ID Tag
----------
1 a
2 b
3 aa
4 bb
Tablo3 - birçok çoğa ilişki Tablo btw Table1 ve Table2
ID table1ID table2ID
Sorun/soru: Ben Table2 (Etiket) 'de bir maç için arama ve Tablo3 ... içine ilişki değerleri eklemek, her Tablo1 satırın virgülle ayrılmış etiketleri üzerinden döngü yapabiliyor bazı SQL gerekiyor gibi Bu sonucu:
Tablo3 - birçok çoğa ilişki tablosu:
ID t1ID t2ID
-----------------
1 1 1
2 1 3
3 1 2
4 2 1
5 2 2
6 3 2
7 3 4
NB! 'A' ve 'aa', 'b' ve 'bb' ve benzeri arasında hiçbir eşleşme/ilişki yok. Sadece 'katı' eşleşme.
Ve evet - Tablo3'teki değerleri oluşturduğumda - Tablo1'deki Etiketler sütunu silinecek (artık gerekli olmadığından).
LütfenYardım edin. Umutsuz bir acemiim!
Ve aptallık ve saflık için acemi foregive lütfen - Bir çözüm aramak için çalıştık, ancak basit bir arama terimi içine bu sorunu çevirmek için biraz karmaşık - Ben de benzer bir soruyu
Birçok örnekler ve yöntem: örneğin bu sitede http://stackoverflow.com/questions/5493510/turning-a-comma- dan Ayrılmış-string-in-individual-satırları –
Teşekkürler - ama ben orada oldum. Ve ben etiketleri (commasep.) Tablo 1'den Table2'ye dönüştürdüm. Ama şimdi son adıma ihtiyacım var ... Tablo3: Tablo1'den döngü - Tablo2'de eşleşme aranıyor - ve eğer bir eşleşme varsa o zaman ilişki değerlerini Tablo 3'e getirin. – Marrix
Üzgünüm, zaten çevirmiş olduğunuzu farketmediniz. Ancak SQL'de döngü yapmayın - veri kümeleri üzerinde çalışır, böylece tablolarınıza ve sonuçlarınıza katılır ve ihtiyacınız olan/istediğiniz tabloya eklemek için kullanabilirsiniz. Tek seferde yapacak kadar rahat değilseniz, Ortak tablo ifadelerini ve geçici tabloları kullanın. –