|
|
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток ув. Эксперты! Пожалуйста помогите решить следующую задачу: Написал вот такой сложный запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Его результат: Подскажите как добавить 2 условия, чтобы группировка по product_id и склеивание arr происходило только если pricenorm не было равно 0 и status был не равен 1, причем чтобы status = 0 и status = NULL считалось за одно и то же. Буду благодарен за любую подсказку! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 17:20:01 |
|
||
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
1) Код: sql 1. + Код: sql 1. =не левый джойн, а обычный 2) Код: sql 1. + Код: sql 1. ="все продукты, у которых не нашлось истории, будут слеплены в кучу". Вы точно этого хотите? 3) Код: sql 1. + Код: sql 1. А за такое вообще бьют канделябрами! 4)saxapгруппировка по product_id см. выше - сначала сделайте нормальную группировку, потом уже будем думать, как на неё навешивать условия 5)saxapсклеивание arr происходило только если pricenorm не было равно 0 и status был не равен 1, причем чтобы status = 0 и status = NULL считалось за одно и то же.ну например Код: sql 1. но пока вы не разберётесь с предыдущими косяками, это ничем не поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 18:20:46 |
|
||
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
1) Поставил обычный джоин, спасибо. 2) Хочу, но не совсем так - хочу чтобы продукты, у которых pricenorm = 0 - всегда были раскученные, а если pricenorm != 0, то скучивались сначала по одинаковому product_id , потом, если в этой куче присутствуют разные status , то они раскучивались так: у тех продуктов где status = 0 или = NULL - остались в этой куче, а со status = 1 - раскучились по уникальному order_id в каждой строке. (3 последние строки расгруппировались) 3) Разжуйте пожалуйста за что побили =) В таблице о нет столбца с product_id , если вы об этом.. или смысл в не верном порядке полей в выборке? 4) ... 5) С такой проверкой: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. получилось: По сути мне нужно чтобы строки где arr = NULL разгруппировались, а 1 и 2 строка сгруппировались.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 20:35:09 |
|
||
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
saxap, соотношение между arr=null и arr<>0 каково в выборке? Может какой-нить union упростит решение, нет? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 22:21:09 |
|
||
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
saxapРазжуйте пожалуйста за что побили =) 13173672 saxapпродукты, у которых pricenorm = 0 - всегда были раскученные, а если pricenorm != 0, то скучивались сначала по одинаковому product_id , потом, если в этой куче присутствуют разные status , то они раскучивались так: у тех продуктов где status = 0 или = NULL - остались в этой куче, а со status = 1 - раскучились по уникальному order_id в каждой строкеArhat109Может какой-нить union упростит решениелюто, бешено плюсую :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 06:17:19 |
|
||
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
Arhat109, arr вообще не равно null, равным null он стал после Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:28:49 |
|
||
|
GROUP BY и GROUP_CONCAT с условием
|
|||
|---|---|---|---|
|
#18+
Сделал так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Не знаю насколько это верно, но запрос работает именно так как мне нужно! SQL язык богов! Всем большое спасибо за внимание и помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 11:10:04 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=198&tid=1835659]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 285ms |

| 0 / 0 |
