select pd.products_name,
GROUP_CONCAT(pag.customers_group_id SEPARATOR ',') group_id,
pa.`options_values_price` Retail,
GROUP_CONCAT(pag.options_values_price SEPARATOR ',') volume_and_designer
from products_attributes pa
left join products_description pd
on pa.products_id = pd.products_id and pd.language_id = '1'
left join products_attributes_groups pag
on pa.`products_attributes_id`= pag.`products_attributes_id`
where pa.products_id='225'
GROUP BY `pa`.`products_attributes_id`
ORDER BY `pa`.`products_attributes_id` ASC
Die obige Abfrage mir eine Ausgabe wie dieseMySql aufspalten einen Alias in mehrere Spalten
| products_name | group_id | Retail | volume_and_sdesign |
-------------------------------------------------------------
| GOLD | 1,2 | 15 | 30,35 |
| SILVER | 2,1 | 16 | 40,45 |
| BRONZE | 1,2 | 17 | 50,55 |
zurückgeben, was ich erreichen will, ist oben, so dass die letzte Spalte (volume_and_sdesign) 2 weitere Aliase in der Tabelle hinzufügen ist gemäß der Spalte group_id in zwei Spalten (dh Volume, SDesign) unterteilt. 1 entspricht dem Volumen und 2 entsprechen SDesign.
zB
Gold has group_id (1,2)
so its volume_and_sdesign (30,35) will make new columns
volume = 30
SDesign = 35
Silver has group_id (2,1)
so its volume_and_sdesign (40,45) will make new columns
volume = 45
SDesign = 40
Bronze has group_id (1,2)
so its volume_and_sdesign (50,55) will make new columns
volume = 50
SDesign = 55
so, die obige Tabelle wie diese
| products_name | group_id | Retail | volume_and_sdesign | volume | SDesign|
-------------------------------------------------------------
| GOLD | 1,2 | 15 | 30,35 |30 | 35 |
| SILVER | 2,1 | 16 | 40,45 |45 | 40 |
| BRONZE | 1,2 | 17 | 50,55 |50 | 55 |
aussehen Jede Hilfe wird viel
wie ein Zauber! Vielen Dank –