【发布时间】:2015-11-05 03:05:21
【问题描述】:
我无法将 SQL 查询的输出设置为我想要的格式。现在我有一些查询,我在其中执行自联接到表以比较符合我条件的帐户的记录.一个简化的示例如下所示:
SELECT a.Field1
,a.Field2
,a.Field3
,b.Field1
,b.Field2
,b.Field3
FROM Table1 a
JOIN Table1 b
ON a.Field = b.Field
a 和 b 的输出在同一行中,我想尝试将它们堆叠在一起。有时会返回 1000 条记录。有没有一种简单的方法可以将 b 字段堆叠在相应的 a 字段下方?经过一些研究,我无法找到一种不完全手动且耗时的有效方法。
编辑:
对于我的第一篇文章中缺乏信息,我深表歉意。这是对我的一个查询的更好表示。
SELECT DISTINCT a.ID
,a.Field1
,a.Field2
,a.Field3
,a.Field4
,a.Field5
,a.Field6
,b.ID
,b.Field1
,b.Field2
,b.Field3
,b.Field4
,b.Field5
,b.Field6
FROM Table1 a
JOIN Table1 b
ON a.somefield = b.somefield
AND a.anotherfield = b.anotherfield
WHERE a.ID > b.ID
AND a.thisfield <> b.thisfield
AND a.field1 = 'something'
AND b.field1 = 'something'
考虑到某些字段不一定相等的标准,各种联合仍然是最合乎逻辑的方式吗?
【问题讨论】:
-
能否添加示例数据和预期输出
-
听起来你想要一个 UNION 而不是 JOIN。
标签: sql sql-server excel