2017-10-04 14 views
0

テーブルAとテーブルBの2つのテーブルがあります。テーブルAには、以下のような同じemp_idと日付を持つレコードはほとんどありません。私はこれらの2つのレコードを表Bに1つのレコードとして挿入したいと考えています。表Bの予期された出力を以下に示します。Mysqlの1つの行として複数の行を別のテーブルに挿入する方法

表A

enter image description here

表B [期待出力]

enter image description here

+0

なぜあなたはこれをしたいですか? – Strawberry

+0

@StrawberryテーブルBにNULL値として格納する必要がある2つの異なる時間がなかった場合、1日のためにユーザーに対して2つの異なる時間があることがあります。 – colombo

+0

なぜグループ化しないのですか?そしてまた、何が起こっているのか? –

答えて

0

これは、あなたがその結果を表示するために必要なロジックの一種だろう。

SELECT 
id, 
emp_id 
date, 
MAX(case when row = 1 then time end) in1, 
MAX(case when row = 2 then time end) in2 
FROM 
(
SELECT id, emp_id, date, time 
row_number() over(partition by id) row 
FROM TableA 
) a 
GROUP BY date; 

(あなたがいることを必要とする理由を知らない)。これは、データを選択し、そのようにそれを表示するが、文句を言わない、それを挿入します、それはなど、あなたの特定のテーブルでそれをテストすることなく、正確に動作するかなら、私に知らせていませんあなたは質問があります

関連する問題