2017-06-18 59 views
-2

我有一个快速的问题,我无法找到答案。如何加入/联合查询

(SELECT Student_Name AS 'First two from Quiz' FROM events WHERE Event_Name LIKE 'Quiz' ORDER BY Student_Name LIMIT 2) 
UNION ALL 
(SELECT Student_Name as 'Last two from Quiz' FROM (SELECT Student_Name FROM events WHERE Event_Name LIKE 'Quiz' ORDER BY Student_Name DESC LIMIT 2) as q ORDER BY Student_Name) 
UNION ALL 
(SELECT Student_Name as 'Last two from Sqlizer' FROM (SELECT Student_Name FROM events WHERE Event_Name LIKE 'Sqlizer' ORDER BY Student_Name DESC LIMIT 2) as w ORDER BY Student_Name) 
UNION ALL 
(SELECT Student_Name AS 'First two from Sqlizer' FROM events WHERE Event_Name LIKE 'Sqlizer' ORDER BY Student_Name LIMIT 2) 

这是我的一个小代码。我需要把它们展示给另一个人。就像旁边的一个一样。由于所有工会都显示在一列中。你有解决这个问题的想法吗?请,这是时间问题。我想在2小时内完成它。

+1

你能不能改一下你的问题吗?可能的话,预期的产量和实际可能会有所帮助 – FieryCat

+0

这是没有必要的。问题已经被解决 –

回答

0

我很肯定有一个更优雅的解决方案,但这是我有时间想出来的。你可以使用连接来并排放置表,但是这会给你所有可能的数据排列,这是我们不想要的。所以我增加了一个计数器四个表,只有数据(一个在柜台都相等)的输出一个排列的:

SELECT a.Student_Name AS 'First two from Quiz', b.Student_Name as 'Last two from Quiz', c.Student_Name as 'Last two from Sqlizer', d.Student_Name AS 'First two from Sqlizer' 
FROM 
(SELECT @s:[email protected]+1 serial_no, Student_Name FROM events, (select @s:=0) as s WHERE Event_Name LIKE 'Quiz' ORDER BY Student_Name LIMIT 2) as a, 
(SELECT @s1:[email protected]+1 serial_no, t2.Student_Name FROM (SELECT Student_Name FROM events WHERE Event_Name LIKE 'Quiz' ORDER BY Student_Name DESC LIMIT 2) as t2, (select @s1:=0) as s) as b, 
(SELECT @s2:[email protected]+1 serial_no, t3.Student_Name FROM (SELECT Student_Name FROM events WHERE Event_Name LIKE 'Sqlizer' ORDER BY Student_Name DESC LIMIT 2) as t3, (select @s2:=0) as s) as c, 
(SELECT @s3:[email protected]+1 serial_no, Student_Name FROM events, (select @s3:=0) as s WHERE Event_Name LIKE 'Sqlizer' ORDER BY Student_Name LIMIT 2) as d 

WHERE a.serial_no = b.serial_no and c.serial_no = d.serial_no and b.serial_no = c.serial_no 
+0

非常感谢你的解决方案!感谢您的快速响应!再次感谢你。祝你有个愉快的日子 –

+0

@ J.明天我很高兴能够帮助你。如果你喜欢这个答案,如果你能够赞成并接受它作为解决方案,这将有所帮助。 – jens108