Запрос соединения MySQL, использующий как?

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

SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE '%' + Table2.col + '%'

но это просто, кажется, не работает вообще, любая справка, которая может быть дана, была бы блестящей, Спасибо!

42
задан metadaddy 29 May 2019 в 23:58
поделиться

2 ответа

Попробуйте

SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE CONCAT('%', Table2.col, '%')

MySQL выполняет конкатенацию строк иначе, чем другие базы данных, поэтому, если вы хотите перенести свое приложение, вам потребуется альтернативная версия, где || - используется как оператор конкатенации, как упомянул Майкл в другом ответе. Однако этот оператор не работает в MySQL, поскольку он означает или .

84
ответ дан 26 November 2019 в 23:39
поделиться

Как насчет этого:

SELECT * FROM Table1, Table2 WHERE Table1.col LIKE '%'+Table2.col+'%';

Поскольку вы все равно выбираете все из обеих таблиц, это, вероятно, приведет вас туда.

2
ответ дан 26 November 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: