1

我想以水平顺序打印数据库表。我可以使用CASE或其他东西以及如何使用?

ID   NAME
--   ----
101  abc
102  xyz
103  pqr

我希望输出是这样的:

101 abc 102 xyz 103 pqr
4

3 回答 3

0

在这里替换为您的表和列名并使用此 SQL:

DECLARE @str VARCHAR(100);
SELECT @str = COALESCE(@str + ' ', '') + column_name FROM table_name
SELECT @str
于 2012-07-21T08:18:57.853 回答
0

声明@str VARCHAR(100);
SELECT @str = COALESCE(@str + ' ', '') + convert(varchar,ID) + ' ' + NAME FROM TableName
SELECT @str

于 2012-07-21T09:49:04.670 回答
0

首先,将所有平台都列为标签是没有意义的——一次只能使用一个

这是一个真正的问题吗?也许您只是学习 sql 并想知道是否有一种“简单”的方法可以做到这一点?答案是不。

SQL 不是执行此操作的最佳方法——如果您从另一个环境调用 SQL,则该语言更适合格式化打印输出。c、c++、C#、PHP、Python 等都可以让您获取 db 数据并将其流式传输到没有换行符的输出。

我大多数用例这是解决问题的最佳方法。

但是,如果您可以提供有关您实际尝试做什么的更多信息,那么可能有一种方法可以很好地解决 SQL 中的问题。鉴于您的问题,答案是否定的,请使用调用语言以这种方式格式化打印输出。

于 2012-07-21T10:00:17.367 回答