【发布时间】:2011-08-27 15:46:38
【问题描述】:
我想知道是否可以在 SQLite 中使用 SELECT 语句将两行的数据合并为一,类似于下面 SQL Server 论坛中的建议。
考虑以下基于 SQL Server 的场景(取自 http://forums.aspfree.com/microsoft-sql-server-14/merge-the-two-rows-in-one-row-245550.html)
假设有一张桌子
员工
ID |名称 |
1 | x |
1 | P |
2 |是 |
2 |问 |
3 | W |
我们希望将 select 语句的结果数据输出:
Emp_Data
标识 |名称-1 |名称-2 |
1 | x | P |
2 |是 |问 |
3 | w | |
帖子中的答案建议使用以下 SQL 作为可能的解决方案:
SELECT
a.ID,
[Name-1] = ISNULL((
SELECT TOP 1 Name
FROM emp
WHERE ID = a.ID),''),
[Name-2] = ISNULL((
SELECT TOP 1 b.Name
FROM emp b
WHERE b.ID = a.ID
AND Name NOT IN(
SELECT TOP 1 Name
FROM emp
WHERE ID = b.ID
)),'')
FROM emp a
GROUP BY a.ID
使用 SQLite 是否可以使用嵌套的 SELECT 语句生成列 [Name-1] 和 [Name-2],就像我们可以在 SQL Server 中执行的上述操作一样?
【问题讨论】:
标签: sqlite