SQLite从多行返回的数据作为一行返回

前端之家收集整理的这篇文章主要介绍了SQLite从多行返回的数据作为一行返回前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否可以在sqlite中使用SELECT语句将两行中的数据合并为一个,类似于下面的sql Server论坛中的建议.

考虑下面基于sql Server的场景(取自http://forums.aspfree.com/microsoft-sql-server-14/merge-the-two-rows-in-one-row-245550.html)

鉴于有一张桌子

EMP

ID |名称|
1 | x |
1 | P |
2 | y |
2 |问|
3 | W |

我们希望select语句中的结果数据输出

Emp_Data

Id |名字-1 |名字-2 |
1 | x | P |
2 | y |问|
3 | w | |

帖子中的答案表明以下sql是一种可能的解决方案:

  1. SELECT
  2. a.ID,[Name-1] = ISNULL((
  3. SELECT TOP 1 Name
  4. FROM emp
  5. WHERE ID = a.ID),''),[Name-2] = ISNULL((
  6. SELECT TOP 1 b.Name
  7. FROM emp b
  8. WHERE b.ID = a.ID
  9. AND Name NOT IN(
  10. SELECT TOP 1 Name
  11. FROM emp
  12. WHERE ID = b.ID
  13. )),'')
  14. FROM emp a
  15. GROUP BY a.ID

使用sqlite可以生成列[Name-1]& [Name-2]使用嵌套的SELECT语句,就像我们在sql Server中可以做的那样?

  1. SELECT
  2. a.ID,COALESCE(a.Name,'') as "Name-1",COALESCE((SELECT b.Name FROM Emp b
  3. WHERE b.ID = a.ID
  4. AND b.rowid != a.rowid LIMIT 1),'') as "Name-2"
  5. FROM emp a
  6. GROUP BY a.ID

猜你在找的Sqlite相关文章