2017-06-18 2 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) 

ここに少しコードがあります。そして私はそれらを互いに表示する必要があります。もう一方の隣のように。すべてのユニオンのために1列に表示されます。あなたはその問題の解決策について考えていますか?しばらくお待ちください。私は2時間でそれを終了したいと思います。

+1

あなたの質問を言い換えるてもらえますか?おそらく、期待される出力と実際に助けることができるでしょう – FieryCat

+0

それのための必要はありません。質問はすでに回答済みです –

答えて

0

私はかなり優雅な解決策があると確信していますが、これは私が思いついた時間です。テーブルを並べて配置するには、単にジョインを使用しますが、データのすべての可能な並べ替えができますが、これは不要です。だから私は、データの4つのテーブルと出力のみ1つの順列(カウンタはすべて同じである1)のそれぞれにカウンターを追加しました:

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.Borrow私はあなたを助けることができてうれしいです。あなたが答えが好きなら、それはアップヴォートを与えて解決策としてそれを受け入れることができれば助けになるでしょう。 – jens108

関連する問題