|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
Имеется таблица СКЛАД(ид, наименование), в которой представлен список предметов, имеющихся на складе. Также имеются различные изделия, в которых использованы предметы со склада. Для каждого изделия своя таблица: ИЗДЕЛИЕ(ид_предмета) Стоит задача - для каждого предмета из таблицы склад определить, в каком изделии он применяется. Подскажите, как SQL запрос реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 18:33 |
|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
В голову приходит такой вариант решения: в каждую из таблиц ИЗДЕЛИЕ добавить дополнительный столбец <признак>, куда заносить наименование изделия Итого, получаем запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 19:06 |
|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
Как теперь можно сгруппировать данные по name, чтобы все имеющиеся признаки выводились в одной строке? Таблица должна иметь вид: 1 | Ключ | склад1, склад2, склад5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 19:34 |
|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
Ерунда. Это связь M:N, для её организации нужна третья таблица. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 19:41 |
|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
Akina, один ко многим там. Один предмет из таблицы СКЛАД может быть включен во много таблиц ИЗДЕЛИЕ (изделие1, изделие2, изделие3 и тд) С запросом уже разобрался, вряд ли можно какой-то более производительный написать. Сейчас интересует как можно сконкатенировать признаки относящиеся к одной позиции инвентаря ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 19:57 |
|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
Dmi_tri Сейчас интересует как можно сконкатенировать признаки относящиеся к одной позиции инвентаря Погуглил, в MySQL есть функция GROUP_CONCAT. Мне она не подойдет, поэтому изменю условие задачи: нужно найти список позиций со склада, который применяется только в изделиях из перечня (изделие1, изделие2...) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 20:15 |
|
Один ко многим. Определить многих
|
|||
---|---|---|---|
#18+
Остановился вот на таком решении. Знаю, что оно выдает лишние записи, но их уже вручную придется чистить Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 22:25 |
|
|
start [/forum/topic.php?fid=47&msg=39981548&tid=1828459]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 244ms |
0 / 0 |