SQL 表里存的1,2,怎么分列1 2

Account007 2008-04-27 07:11:10
table1

ID1 MONCT
1 内容1
2 内容2
3 内容3

table2 TABLE1_ID TABLE2
1 1,2 TABLE2内容
2 3 内容

TABLE1_ID 就是table1的ID号,只是在表2显示,是以1,2这样显示,能不以分开呢```
需求结果
----------------------------------
table2 ID1(TABLE1的ID) table2
1 1 TABLE2内容
1 2 TABLE2内容
2 3 内容



...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Account007 2008-04-28
  • 打赏
  • 举报
回复
syscolumns ?? 这个是什么意思呢??
Account007 2008-04-28
  • 打赏
  • 举报
回复
--(详细说明下这意思吗?) 非常感谢

SELECT TOP 8000 id = identity(int,1,1)
INTO # FROM syscolumns a, syscolumns b --(详细说明下这意思吗?)


SELECT
A.ID,
COUNTRY = SUBSTRING(A.COUNTRY, B.ID, CHARINDEX(';', A.COUNTRY + ';', B.ID) - B.ID)
FROM A, # B
WHERE SUBSTRING(';' + a.COUNTRY, B.id, 1) = ';' --(详细说明下这意思吗?)
ORDER BY 1,2
GO

DROP TABLE A,#



Account007 2008-04-28
  • 打赏
  • 举报
回复
SELECT TOP 8000 id = identity(int,1,1)
INTO # FROM syscolumns a, syscolumns b

请问这段SQL有何用呢??
-狙击手- 2008-04-27
  • 打赏
  • 举报
回复
CREATE TABLE A(id INT,country VARCHAR(100))
INSERT A
SELECT 1,'中国;日本;韩国' UNION ALL
SELECT 2,'美国;意大利;法国' UNION ALL
SELECT 3,'德国'
SELECT * FROM A

-- 建立一个辅助的临时表就可以了
SELECT TOP 8000 id = identity(int,1,1)
INTO # FROM syscolumns a, syscolumns b


SELECT
A.ID,
COUNTRY = SUBSTRING(A.COUNTRY, B.ID, CHARINDEX(';', A.COUNTRY + ';', B.ID) - B.ID)
FROM A, # B
WHERE SUBSTRING(';' + a.COUNTRY, B.id, 1) = ';'
ORDER BY 1,2
GO

DROP TABLE A,#

id country
----------- ----------------
1 中国;日本;韩国
2 美国;意大利;法国
3 德国

(所影响的行数为 3 行)

ID COUNTRY
----------- ---------
1 韩国
1 日本
1 中国
2 法国
2 美国
2 意大利
3 德国

(所影响的行数为 7 行)

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧