Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Добрый день. Пишу программу для работы с ценами на сайте. В программе сделал табличку типа excel вида: ________________________________________ |...| PRODUCT_ID | Название товара | Ссылка | Нужно заполнить данными с сайта, нужные данные хранятся в двух разных таблицах. Из первой беру ID и Название и заполняю свою таблицу, получается что то типа: _____________________ | 1 | 1901 | Телевизор... | | | 2 | 9815 | Пальто........ | | | 3 | 4194 | Холодильник | | Во второй таблице в бд сайта нужные мне ссылки пронумерованы теми же ID, т.е. таблица вида ______________________ | PRODUCT_ID | Ссылка | Но ссылки есть не у всех товаров, а у меньшей части. Суть проблемы - ну вот делаю я селект к примеру: Код: sql 1. Возвращаются ссылки. Но как их записать в мою таблицу? Куда? В какую ячейку? Можно вместе с ссылками возвращать ID типа: Код: sql 1. Но придется делать программную сортировку, я такую уже делал, правда совсем не оптимизированную и работала она секунд 30 для 4000 товаров. Проходим всю таблицу, ищем нужный ID, как нашли записываем ссылку. Цикл в цикле - тормоза... Можно сделать отдельно для каждого товара запрос, но нагрузка будет большая на бд... На одном форуме посоветовали отправлять в запросе xml таблицу с номерами ячеек и ID, джойнить эту таблицу с таблицей на сайте. MsSQL Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Это работало быстро и я получал вместе с именем товара - отправленный мной номер ячейки. Дальше просто записывал по этому номеру данные в ячейку своей таблицы. Но это MsSQL, а я перешел на MySQL, и вообще движок уже совсем другой на сайте. В общем тип БД поменять не предлагайте)) Пробовал этот код на мускуле - куча ошибок. DECLARE в мускуле работает совсем по другому, и кроме этого куча ошибок, которые поправить сам не могу - ибо нуб:) Помогите пожалуйста) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 02:02 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 1---Дмитрий--1На одном форуме посоветовали Говнокод тебе посоветовали. Внеси "советчика" в чёрный список. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 07:36 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
А такой код изменений не вносит в бд? Все работает в пределах одного запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 11:02 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
1---Дмитрий--1А такой код изменений не вносит в бд?Такой вопрос по отношению к UPDATE-запросу видеть как минимум странно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 11:13 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
"Оператор UPDATE обновляет столбцы в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению" Базу модифицировать табу... По другому никак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 11:29 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
1---Дмитрий--1Нужно заполнить данными с сайта 1---Дмитрий--1Базу модифицировать табу... Может, подскажете, как Вы намерены заполнять таблицу данными, но при этом её не модифицировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 11:48 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Наверное я плохо задачу описал... Я программирую на языке BlitzMax. Я пишу программу для управления ценами на сайте из программы. Язык модульный, я использую модуль wxGUI для создания таблицы в программе. И модули для подключения к различным базам MySQL и MsSQL. Вкратце суть: запускаю прогу - она создает пустую таблицу (интерфейс) по заданным мной параметрам, ширина строк столбцов, количество, цвет итд итп. Потом прога коннектится посредством TCP/IP к базе, с которой посредством запросов sql получает инфу и заполняет свою таблицу. Представьте себе excel - моя прога это такая же таблица, только она может к бд коннектится и заполнятся из базы сайта. Скрин прикрепляю. На скрине видно, что в таблице (в таблице моей программы) есть нумерация строк. Обратится к ячейке, чтобы заполнить ее инфой - можно по номеру строки и столбца. В бд (удаленная база сайта на mysql) нужные мне данные находятся в двух разных таблицах. Первым запросом я получаю инфу: Название, цена, ID. Потом надо получить ссылки из другой таблицы в удаленной бд. Проблема в заполнении локальной таблицы. Когда приходят данные по запросу я не знаю в какую ячейку мне их записать. Если бы можно было отправить в своем запросе номера ячеек вместе с ID и получить ссылки вместе с теми же номерами ячеек - тогда не было бы проблем с заполнением локальной таблицы. т.е я отправляю на сервер запрос "<Ячейка 1, ID 1904> <Ячейка 2, ID 8512>..." а получаю ответ вида "<Ячейка 1, Ссылка http:ssdfsd.ru> <Ячейка 2, нет ссылки> <Ячейка 5, Ссылка http:tralivali.ru>" Надеюсь подробно объяснил) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 13:05 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
А еще круче было бы получить инфу сразу одним запрососм из двух таблиц. Из первой берет ID, название, цену, а из второй по ID берет ссылку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 13:16 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
1---Дмитрий--1получить инфу сразу одним запрососм из двух таблиц. Из первой берет ID, название, цену, а из второй по ID берет ссылку...Да легко... Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 13:30 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Akina спасибо тебе большое. Я вот эту тему курил на форумах очень долго и никто так и не подсказал самого очевидного решения - получать все что нужно в одном запросе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 15:57 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
1---Дмитрий--1и никто так и не подсказал самого очевидного решенияНу это лишь потому, что вместо постановки исходной задачи и запроса советов по её решению кто-то начал строить своё решение (как выяснилось - не самое оптимальное) и просил советов по реализации одного из его этапов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:12 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Akinaкто-то начал строить своё решение (как выяснилось - не самое оптимальное) и просил советов по реализации одного из его этапов. Этот "кто-то" был я :D Так как нуб в sql - сразу предложил вариант передавать индексы в запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:50 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Эм.. проблема другая всплыла, я уже из трех таблиц данные получаю сразу Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. и вот с третей таблицей косяк, в первых двух таблицах данные есть для всех товаров. Если прописать все условия без 3й таблицы - возвращаются все товары. А в третей таблице данные есть только у тех товаров к которым я прописал ссылки (я их к 2м товарам прописал). В итоге такой запрос вернет только два товара. Можно сделать чтобы если t3.BLOCK_ELEMENT_ID не существует - то в t3.VALUE возвращался ноль (пустая строка "", т.к. строковое значение)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:51 |
|
||
|
MsSQL -> MySQL
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 19:27 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39420276&tid=1830841]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 127ms |

| 0 / 0 |
