powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не понимаю как составить sql запрос для решения моей проблемы
6 сообщений из 6, страница 1 из 1
Не понимаю как составить sql запрос для решения моей проблемы
    #40089354
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет,
столнкулся с проблемой, есть таблица с колонками модели товара и его ценой
'model''price' 'avp-550' '4991422.0000' 'avp-550-s-avr' '5205930.0000' 'avp-550-v-kojuhe' '5428687.0000' 'avp-550-v-kojuhe-s-avr' '5643195.0000' 'avp-550-v-konteynere' '5566172.0000' 'avp-550-v-konteynere-s-avr' '5780680.0000' 'avp-655' '5799950.0000' 'avp-655-s-avr' '6080460.0000' 'avp-655-v-kojuhe' '6228965.0000' 'avp-655-v-kojuhe-s-avr' '6509474.0000' 'avp-655-v-konteynere' '6374700.0000' 'avp-655-v-konteynere-s-avr' '6655210.0000' 'avp-700' '6921989.0000' 'avp-700-s-avr' '7210749.0000' 'avp-700-v-kojuhe' '7392255.0000' 'avp-700-v-kojuhe-s-avr' '7681015.0000' 'avp-700-v-konteynere' '7496739.0000' 'avp-700-v-konteynere-s-avr' '7785499.0000'
мне нужно прописать цену для моделей с доп.опциями как на оригинальной модели. т.е
у модели 'avp-550' цена '4991422.0000', мне нужно чтобы на остальных товарах этой модели была такая-же цена
'avp-550-s-avr' ''4991422.0000'
'avp-550-v-kojuhe' ''4991422.0000'
'avp-550-v-kojuhe-s-avr' ''4991422.0000'
'avp-550-v-konteynere' ''4991422.0000'
'avp-550-v-konteynere-s-avr' ''4991422.0000'
с остальными тоже самое, но проблема в том что, в некоторых моделях может не быть какой-либо опции(т.е. запрос на запись допустим брать заначение ячейки и прописать на нижние 5 не прокатит)
я думал сделать запрос по поиску части текста на основе WHERE model LIKE 'avp-550_%', но не могу сообразить как брать цену именно нужной мне ячейки
UPDATE `oc_product` SET `price`=(значение цены ячейки без опций) WHERE model LIKE 'avp-550_%'
помогите пожалуйста.
P.S. Даже если не удастся сделать массовый запрос на всю базу, подскажите хотя бы как сделать одиночный запрос хотябы с одной моделью
...
Рейтинг: 0 / 0
Не понимаю как составить sql запрос для решения моей проблемы
    #40089365
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Demanoco,
Очевидно, что надо менять структуру таблиц. ID базовой модели должен помещаться в одно поле. Набор опций к базовой модели - в другое поле. Можно попробовать побитно, 1 бит = одна опция. Если бит = 1, то опция присутствует, если = 0, опции нет. Можно использовать готовый тип SET (в принципе, то же самое).
А с существующим подходом к данным (а-ля Excel), коллега, ваша жизнь будет похожа на мучения.
...
Рейтинг: 0 / 0
Не понимаю как составить sql запрос для решения моей проблемы
    #40089383
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99, ну там в таблице всего то-17к позиций, я их вручную сделал, только только закончил,ушло на все часов 7
...
Рейтинг: 0 / 0
Не понимаю как составить sql запрос для решения моей проблемы
    #40089391
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Demanoco
я их вручную сделал, только только закончил,ушло на все часов 7
"Дурная голова ногам покоя не даёт". В данном случае, правда, рукам. Это поговорка такая, если что.

Мой вам совет, пока дело не зашло далеко, переделайте таблицы. И ваши проблемы станут смешными, а запросы простыми, как сатиновые трусы.
...
Рейтинг: 0 / 0
Не понимаю как составить sql запрос для решения моей проблемы
    #40089614
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT DISTINCT
       t1.model,
       FIRST_VALUE(t2.price) OVER (PARTITION BY t1.model ORDER BY LENGTH(t2.model)) price
FROM cte t1
JOIN cte t2 ON LOCATE (t2.model, t1.model) = 1
ORDER BY model;


https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=0de6d5e3811fc63829f869399b1fb7cb
...
Рейтинг: 0 / 0
Не понимаю как составить sql запрос для решения моей проблемы
    #40091640
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Demanoco
я их вручную сделал, только только закончил,ушло на все часов 7
"Дурная голова ногам покоя не даёт". В данном случае, правда, рукам. Это поговорка такая, если что.

Мой вам совет, пока дело не зашло далеко, переделайте таблицы. И ваши проблемы станут смешными, а запросы простыми, как сатиновые трусы.

я бы переделал, только это таблицы из crm Opencart 3 там они вообще все через одно место
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не понимаю как составить sql запрос для решения моей проблемы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]