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

SQLite从多行返回的数据作为一行返回,第1张

概述我想知道是否可以在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 我想知道是否可以在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是一种可能的解决方案:

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可以生成列[name-1]& [name-2]使用嵌套的SELECT语句,就像我们在sql Server中可以做的那样?

SELECT    a.ID,COALESCE(a.name,'') as "name-1",COALESCE((SELECT b.name FROM Emp b              WHERE b.ID = a.ID             AND b.rowID != a.rowID liMIT 1),'') as "name-2"FROM emp a GROUP BY a.ID
总结

以上是内存溢出为你收集整理的SQLite从多行返回的数据作为一行返回全部内容,希望文章能够帮你解决SQLite从多行返回的数据作为一行返回所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1161519.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存