我想以水平顺序打印数据库表。我可以使用CASE
或其他东西吗?
ID NAME
-- ----
101 abc
102 xyz
103 pqr
我希望输出如下:
101 abc 102 xyz 103 pqr
答案 0 :(得分:0)
此处替换为您的表和列名称并使用此SQL:
DECLARE @str VARCHAR(100);
SELECT @str = COALESCE(@str + ' ', '') + column_name FROM table_name
SELECT @str
答案 1 :(得分:0)
DECLARE @str VARCHAR(100);
SELECT @str = COALESCE(@str +'','')+ convert(varchar,ID)+''+ NAME FROM TableName
选择@str
答案 2 :(得分:0)
首先,将所有平台列为标签是没有意义的 - 您一次只能使用一个
这是一个真正的问题吗?也许你只是学习sql并想知道是否有“简单”的方法来做到这一点?答案是否定的。
SQL不是执行此操作的最佳方法 - 如果从其他环境调用SQL,该语言更适合格式化打印输出。 c,c ++,C#,PHP,Python等都可以让你获取db数据并将其传输到没有换行符的输出。
我大多数情况下这是解决问题的最佳方法。
但是,如果您可以提供有关您实际尝试的内容的更多信息,那么可能有一种方法可以很好地解决SQL中的问题。如果您的问题答案是否定的,请使用调用语言以这种方式格式化打印。