|
Простой запрос - две таблицы | ☑ | ||
---|---|---|---|---|
0
ЖНЕЦ
21.11.24
✎
12:14
|
Всем привет
Есть две таблицы (количество строк может быть любым) первая возвращает сервис по API № product_id exemplars_id quantity marka 1 1726678476 15248650268 1 "" 2 1726678476 15248650269 1 "" 3 1638630207 15248650270 1 "" 4 1638630207 15248650271 1 "" и первую таблицу нужно заполнит маркой (есть вторая таблица уже из базы) № marka product_id 1 0108000001235708215Y%LssjF7Dt8- 1638630207 2 0108000001235708215y)hpG=hnSq+6 1638630207 Как сделать итог ? № product_id exemplars_id quantity marka 1 1726678476 15248650268 1 "" 2 1726678476 15248650269 1 "" 3 1638630207 15248650270 1 0108000001235708215Y%LssjF7Dt8- 4 1638630207 15248650271 1 0108000001235708215y)hpG=hnSq+6 |
|||
1
okmail
21.11.24
✎
12:21
|
Во второй таблице поля exemplars_id нет?
|
|||
2
ЖНЕЦ
21.11.24
✎
12:27
|
(1) в том то и дело , что нет
один товар (product_id) может иметь сколько угодно марок (exemplars_id) |
|||
3
osa1C
21.11.24
✎
12:27
|
(0) Если это все поля в таблицах, то никак. Во второй таблице явно не хватает колонки
|
|||
4
okmail
21.11.24
✎
12:29
|
(2) Тогда только программно. Обходить первую таблицу, искать по полю product_id во второй. Помечать(или удалять) марки, которые уже добавлены
|
|||
5
Fedor-1971
21.11.24
✎
12:31
|
(0) Любая марка к любому exemplars_id? Нужно ли чтобы при повторном выполнении запроса марки присваивались тому-же exemplars_id?
|
|||
6
ЖНЕЦ
21.11.24
✎
12:38
|
(4) так и делали, хочу узнать можно ли запросом
(5) Да , любая - так тоже правильно будет 3 1638630207 15248650270 1 0108000001235708215Y%LssjF7Dt8- 4 1638630207 15248650271 1 0108000001235708215y)hpG=hnSq+6 3 1638630207 15248650270 1 0108000001235708215y)hpG=hnSq+6 4 1638630207 15248650271 1 0108000001235708215Y%LssjF7Dt8- |
|||
7
Fedor-1971
21.11.24
✎
12:46
|
(6) я другое имел в виду, к нам следующий раз пришли
3 1638630207 15248650272 4 1638630207 15248650273 Марок только 2 и получим кашу, например, для 15248650270 и 15248650273 будет присвоена одна марка Как видится, нужно добавлять в таблицу 2 exemplars_id, для предотвращения такого развития событий и выдавать в распределение только свободные марки А так, в (4) правильно говорит, разбираем кодом и блокируем использованные марки |
|||
8
Hmster
21.11.24
✎
12:47
|
если запросом, то пронумеровать строки внутри product_id в первой и второй таблицах и соединить в том числи по этим полям
|
|||
9
Fedor-1971
21.11.24
✎
12:47
|
(7)+ Как я понимаю, могут прислать и старые коды, с уже выданными марками
|
|||
10
ЖНЕЦ
21.11.24
✎
12:52
|
(8) количество строк неизвестно изначально
(9) именно так |
|||
11
Fedor-1971
21.11.24
✎
13:15
|
(10) Если сделать как в (7), то левым соединением указываем присвоенные марки (т.е. не будем повторно присваивать уже готовые), а для оставшихся строк с Null кодом забираем свободные марки
|
|||
12
d4rkmesa
21.11.24
✎
13:21
|
(8) Точно
(10) Даже если можно сделать распределение в запросе, если результат никак не фиксируется, то достоверность результата достаточно низкая. Все-таки, я бы лучше по-старинке с обработкой ТЗ сделал. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |