access 行转列 SQL语句怎么写

swdipper 2014-11-28 01:33:43
原表:

我想要把表改成这样的:

SQL 语句怎么写?
...全文
140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2014-11-28
  • 打赏
  • 举报
回复
是只能写死,在MSSQL里面,就算用关键字也是写死 不想写死,可以用动态执行,只是ACCESS应该会有点区别
引用 4 楼 swdipper 的回复:
搞定了 这个方法只能写死 谢谢
swdipper 2014-11-28
  • 打赏
  • 举报
回复
搞定了 这个方法只能写死 谢谢
还在加载中灬 2014-11-28
  • 打赏
  • 举报
回复
SELECT * FROM
(
	SELECT ID,'A1' AS [项目],A1 AS [值]
	UNION ALL
	SELECT ID,'A2',A2
	UNION ALL
	SELECT ID,'A3',A3
)
ORDER BY ID
应该是这样
swdipper 2014-11-28
  • 打赏
  • 举报
回复
设原始表是b

SELECT ID,'A1' AS [项目], A1 AS [值]
FROM (SELECT ID, 'A1', A1 FROM b
UNION ALL
(SELECT ID,'A2',A2 FROM b)
UNION ALL
(SELECT ID,'A3',A3 FROM b)
)
ORDER BY ID

结果项目列的都是'A1' ,求解
还在加载中灬 2014-11-28
  • 打赏
  • 举报
回复
这叫列转行 直接UNION ALL应该就可以了吧
SELECT ID,'A1' AS [项目],A1 AS [值]
UNION ALL
SELECT ID,'A2',A2
UNION ALL
SELECT ID,'A3',A3

22,209

社区成员

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

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