|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Все привет, помогите пожалуйста с запросом: Суть такова: Есть бургер и всякие дополнения к нему, и у бургера и у самих дополнений есть цена. Вот так это выглядит: lines idnamesum1burger1 ingredients idline_idnamesumtype11onion2021garlic3031tomato4141carrot5151pepper62 Вопрос: Нужно сделать отчет в котором покажет сколько действительно стоит бургер без использования UNION ALL Но есть хитрость одна: дополнения с типом 0 должны войти в стоимость самого бургера, а все остальные как отдельные строки report namesumtypeburger60burger|tomato41burger|carrot51burger|pepper62 Я тут накидал запрос нерабочий, он не учитывает стоимость самого бургера, как туда добавить еще бургер без union, голову ломаю. Можно было бы продублировать строку, но как. Вообщем буду признателен за любую помощь. Код: sql 1. 2. 3. 4. 5.
Исходные данные: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 16:03 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Тут скорей всего проблема в хранении данных: эти ингредиенты с типом 0 должны быть в таблице lines с указанием родителя ParentId и тогда было бы все проще ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 16:54 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 16:59 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
maratoss, maratoss Нужно сделать отчет в котором покажет сколько действительно стоит бургер без использования UNION ALL почему именно без UNION ALL ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 17:34 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
entrypoint, С union all на реальных данных почему-то долго работает если взять одну и ту же таблицу, объединить и попробовать поискать по первичному ключу то занимает это несколько секунд в таблицы где-то ~100к строк Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 19:56 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Akina Код: sql 1.
Не совсем так работает, не учитывает стоимость самого бургера burger: 1 + onion: 2 + garlic: 3 = должно получиться 6 этот запрос возвращает 5 для type = 0. Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 20:04 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
fiddle . ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 20:14 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Ну и, как просили, вариант без UNION ALL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
fiddle . ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 20:45 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Akina, Идеалити! Спасибо, то что нужно. В мой запрос получается нужно было добавить только вот это, но я чет тупанул :) Код: sql 1.
Всем спасибооо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 10:02 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Я всё же настоятельно рекомендую использовать ANY_VALUE(), чтобы всё не обсыпалось при случайном или плановом включении ONLY_FULL_GROUP_BY. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 12:16 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
Akina, Хорошее замечание, благодарю, учту ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 13:09 |
|
Как продублировать строку в запросе
|
|||
---|---|---|---|
#18+
maratoss Вопрос: Нужно сделать отчет в котором покажет сколько действительно стоит бургер без использования UNION ALL Я на SQL.ru уже хожу, только чтобы поржать... Тут не только ответить ни на что нельзя, а и даже что-то понять, настолько невменяемые запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:41 |
|
|
start [/forum/topic.php?fid=47&msg=39925288&tid=1828745]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 191ms |
0 / 0 |