0
私は助けが必要です。 7 | Iはqurum1と6行目がありhere異なるIDで行を展開する方法は?
結果は= 6これは、クエリ
`SELECT qurum_id, qurum,qurum1,
SUM(CASE WHEN DATE_FORMAT(aa.input_date, '%m') BETWEEN 01 AND 06
THEN 1 END) AS I,
SUM(CASE WHEN DATE_FORMAT(aa.input_date, '%m') BETWEEN 07 AND 12
THEN 1 END) AS II
FROM qurum AS qur
INNER JOIN (SELECT id, qurum1,input_date FROM DATA) AS aa
ON qur.qurum_id = aa.qurum1
WHERE DATE_FORMAT(aa.input_date, '%Y') = $year
GROUP BY qurum_id
ORDER BY qurum_id`
ある結果が
qurum_id|qurum|qurum1
1|one |3
2|two |2
3|three|1
4|four |7
5|five |5
**6|six |6
6|six |4**
7|seven|5
なければならないコルムテーブル
qurum table data table
qurum_id|qurum id|qurum1
1|one 1|3
2|two 2|2
3|three 3|1
4|four 4|7
5|five 5|5,6
6|six 6|4
7|seven 7|5
where qurum_id = data.qurum1
を有しますQurum_id 6とqurum_id 7は異なるQurumを持っているため、テーブル内では、しかし、私は6 | 7を爆発させる必要があります。 PICは、私が
は 'qurum_id、コルム、qurum1、 SUM(CASE DATE_FORMAT(aa.input_date、 '%のM')END 1 THEN \t \t 01の間で06を選択言いたいことを最善をshowます)I、 SUM(CASE WHEN DATE_FORMAT(aa.input_date、 '%のM')THEN 1 \t \t 07〜12 END)II AS、 SUBSTRING_INDEX(qurum1、AS '|'、1)AS first_part、 SUBSTRING_INDEX (qurum1、 '|'、-1)second_partとして FROM qurum AS qur INNER JOIN(SELECT id、qurum1、input_date FROM DATA)AS aa qur.qurum_id = aa.qurum1 ON \t \t \t WHERE DATE_FORMAT(aa.input_date、 '%Y')=このようqurum_id' BY qurum_id ORDER BY 2017 GROUP? –
http://chat.stackoverflow.com/rooms/141896/mysql-explode –
qurum1にもう1桁を追加しました(今は1 | 6 | 7です)。行が見えなくなりました –