我有一个3列的表。前两列是ID(主键)和国家。第三列包含由冒号字符分隔的一些名称。例如:Sql查询检索以下数据
ID Country Names
--------------------------
1 USA Mike;Bill
2 USA Michael;Lara;Van
3 Italy Kobe;Nate;Tim;Manu
我需要编写一个SQL查询,为每个名称生成一个新行。例如,在这种情况下,输出将是
ID Country Name
--------------------------
1 USA Mike
1 USA Bill
2 USA Michael
2 USA Lara
2 USA Van
3 Italy Kobe
3 Italy Nate
3 Italy Tim
3 Italy Manu
我该怎么做?我已经在t-sql中找到了一个可以将字符串分割成字符的分割函数。但如何将数据分成多行?
第三列中的最大分隔值数是多少? –
任何数字 - 超过20个。它基本上是一个变量。 – VVV