Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
Имеются 2 таблицы. Необходимо подставить данные из одной таблицы в другую на основании частичного совпадения полей.
В одной таблице 3000 строк в другой 5000 строк.

Этот запрос работает, но почему-то выводит явно не все данные

SELECT *
FROM testzagruz.TABLE8 INNER JOIN testzagruz.TABLE9
ON '%'+testzagruz.TABLE9.COL1+'%' LIKE testzagruz.TABLE8.COL2

Этот запрос не работает из-за ошибки синтаксиса

SELECT *
FROM testzagruz.TABLE8 INNER JOIN testzagruz.TABLE9
ON testzagruz.TABLE8.COL2 LIKE '%'+testzagruz.TABLE9.COL1+'%'
16 мар 20, 10:52    [22099682]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Этот запрос не работает из-за ошибки синтаксиса

SELECT *
FROM testzagruz.TABLE8, testzagruz.TABLE9
where testzagruz.TABLE8.COL2 LIKE '%'+testzagruz.TABLE9.COL1+'%' 

Починил. С тебя $2000.

Сообщение было отредактировано: 16 мар 20, 11:00
16 мар 20, 11:00    [22099686]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332
Этот запрос работает, но почему-то выводит явно не все данные

Конечно, он не будет выводить все данные, колонки могут не совпадать же. Или совпадать, но не те (10 и больше like '%1%', например)

Сообщение было отредактировано: 16 мар 20, 11:02
16 мар 20, 11:02    [22099689]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332,

Тебе бы и в том треде ответили, просто все спят еще.
16 мар 20, 11:04    [22099692]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
Спасибо, но выдается ошибка(

SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '+testzagruz.TABLE9.COL1+'%'
16 мар 20, 11:05    [22099693]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
crutchmaster,
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '+testzagruz.TABLE9.COL1+'%'
16 мар 20, 11:06    [22099694]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332,

Ну да. Там надо
SELECT *
FROM testzagruz.TABLE8, testzagruz.TABLE9
where testzagruz.TABLE8.COL2 LIKE concat('%',testzagruz.TABLE9.COL1,'%')
16 мар 20, 11:14    [22099705]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
crutchmaster
vit332,

Ну да. Там надо
SELECT *
FROM testzagruz.TABLE8, testzagruz.TABLE9
where testzagruz.TABLE8.COL2 LIKE concat('%',testzagruz.TABLE9.COL1,'%')


спасибо, с CONCAT и скобками тоже пробовал но выводится очень мало совпадений (около 300 при том что их там должно быть около 3000)
16 мар 20, 11:20    [22099715]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332,

Ну, тогда надо смотреть на данные и там думать как их лучше связать.
16 мар 20, 11:27    [22099719]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
crutchmaster
vit332,

Ну, тогда надо смотреть на данные и там думать как их лучше связать.


спасибо, буду смотреть. А в принципе с тобой можно посотрудничать на платной основе в плане построения каких-либо сложных запросов?
16 мар 20, 11:39    [22099733]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Если там что-то типа адресов или названия товаров, то так с наскока ничего не получится. Связывать по строке это вообще очень геморно, придётся делать почти в ручную.

Сообщение было отредактировано: 16 мар 20, 11:41
16 мар 20, 11:41    [22099737]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332
А в принципе с тобой можно посотрудничать на платной основе в плане построения каких-либо сложных запросов?

Я не люблю сложные запросы, стараюсь их избегать, насколько это возможно. Если можно загнать выборку в цикл и там её обработать, лучше делать так и всем будет жить намного проще.
Но если сильно хочется, то тут, в принципе, помогут, как проснуться и пойдут на обед.

Сообщение было отредактировано: 16 мар 20, 11:46
16 мар 20, 11:46    [22099738]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
crutchmaster
vit332
А в принципе с тобой можно посотрудничать на платной основе в плане построения каких-либо сложных запросов?

Я не люблю сложные запросы, стараюсь их избегать, насколько это возможно. Если можно загнать выборку в цикл и там её обработать, лучше делать так и всем будет жить намного проще.
Но если сильно хочется, то тут, в принципе, помогут, как проснуться и пойдут на обед.


Спасибо!
16 мар 20, 11:49    [22099744]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332
на платной основе

Зачем? Обычно помогают безвозмездно, если предоставлять всю нужную информацию, правильно задавать вопросы и вести свой тред (не пропадать). Делают это чтобы хоть немного отвлечься от своей работы.
16 мар 20, 11:51    [22099745]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332
Спасибо!

Не за что. Спрашивайте, не стесняйтесь.
16 мар 20, 11:51    [22099747]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
Dmitry_8888
Member

Откуда:
Сообщений: 38
crutchmaster,

а если так?
SELECT *
FROM testzagruz.TABLE8, testzagruz.TABLE9
where testzagruz.TABLE8.COL2 LIKE concat('%',testzagruz.TABLE9.COL1,'%')
   or testzagruz.TABLE9.COL1 LIKE concat('%',testzagruz.TABLE8.COL2,'%')
16 мар 20, 12:50    [22099804]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Dmitry_8888,

Мне что-то подсказывает, что там простым "like" не отделаешься.
16 мар 20, 13:08    [22099824]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
vit332
Member

Откуда: Москва
Сообщений: 12
crutchmaster
vit332
Спасибо!

Не за что. Спрашивайте, не стесняйтесь.



все-таки этот сработал, поменял местами только table8 и tabl9, т.к. одна из них содержит слово, а другая содержит это слово плюс еще окружающие слова

SELECT *
FROM testzagruz.TABLE8, testzagruz.TABLE9
where testzagruz.TABLE8.COL2 LIKE concat('%',testzagruz.TABLE9.COL1,'%')

реально помогли!
16 мар 20, 13:10    [22099825]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
vit332
реально помогли!

Странно, но хорошо, конечно.
16 мар 20, 13:15    [22099835]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
Веrd
Member

Откуда: Лазаревское
Сообщений: 561
Хороший вариант - данные выгрузить в 2 датасета, потом задачу решать на питоне через матрицы методами машинного обучения.
16 мар 20, 14:46    [22099933]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
witte
Member

Откуда:
Сообщений: 375
Веrd
Хороший вариант - данные выгрузить в 2 датасета, потом задачу решать на питоне через матрицы методами машинного обучения.

Почему-то анекдот вспомнился про международный конкурс хирургов. :-)
16 мар 20, 15:14    [22099953]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
CawaSPb
Member

Откуда: Питер/Москва/Wroclaw
Сообщений: 1037
crutchmaster
vit332
А в принципе с тобой можно посотрудничать на платной основе в плане построения каких-либо сложных запросов?

Я не люблю сложные запросы, стараюсь их избегать, насколько это возможно. Если можно загнать выборку в цикл и там её обработать, лучше делать так и всем будет жить намного проще.

Пристрелить!
17 мар 20, 01:59    [22100292]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
CawaSPb
Пристрелить!

Вот, вот. Это и думаешь, когда смотришь на эти ваши sql портянки.
17 мар 20, 05:13    [22100305]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30751
crutchmaster
CawaSPb
Пристрелить!

Вот, вот. Это и думаешь, когда смотришь на эти ваши sql портянки.
Для меня "загнать выборку в цикл и там её обработать" выглядит, как сложение целых чисел циклом по битам. Зачем, если есть операторы, работающие с числами?

Я понимаю, упрощать портянки промежуточными временными таблицами, или повышать читаемость, используя CTE, но цикл???
17 мар 20, 10:31    [22100404]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по sql запросу  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
alexeyvg
но цикл

Пусть тогда будет модный map/reduce, раз цикл режет глаз. Суть та же.
17 мар 20, 10:43    [22100417]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Работа Ответить