2017-09-13 70 views
-2

我被困在一个与我的SQL查询我得到如下输出的情况。 enter image description here合并使用SQL的两行

我希望我的输出是单行的,这样最终用户就可以浏览一下报告,并且可以很容易地猜出这个家伙参加的活动如下。

enter image description here

+3

你可以把一些努力与描述,而不是使用图像在这里发表的数据。并提及你到目前为止所尝试的。 – Susang

+0

提示:“GROUP BY”。 –

+0

另请参阅:哪些[DBMS](https://en.wikipedia.org/wiki/DBMS)产品您使用? Postgres的?甲骨文? –

回答

0

如果你想有一个单排,用GROUP BY

select fname, lname, max(event1) as Event1, max(event2) as event2 
from t 
group by fname, lname; 
0

假定每个人都有活动既包括yesno,您可以使用下面的查询来生成你想要的结果。如果两个值都是no,那么结果就会得到no

SELECT fname, 
     lname, 
     max(event1) as event1, 
     max(event2) as event2 
FROM t1 
GROUP BY fname, 
     lname; 

结果:

fname lname event1 event2 
------------------------------ 
abc  xyz  yes  yes 

您可以查看演示here

+0

那么,@Gordon比你之前5分钟发布的是什么? – Susang

+0

@Suraz,当我阅读这个问题时,我开始研究这个演示。同时发布了Gordan的答案。当我创建示例数据时,编写查询并进行模拟,然后发布答案。你不认为写了多少行,然后张贴至少5分钟的答案吗?你也可以检查我的其他答案。每个人都有演示附加。谢谢 – zarruq

+0

通过这种方式,您将成为每个问题的最后一个,并且大部分时间都会发布类似的答案。我们在这里寻找快速和优雅的答案,但我们也可以创建演示,但只有在需要的时候才可以。 – Susang