MySQL: LIKE Wildcard внутри предложения WHERE

0

Я выбрал данные из базы данных MySQL, и я пытаюсь заменить WHERE column_name = 'name' подстановочным знаком, например WHERE column_name LIKE '%name%'.
Звучит слишком просто, не так ли?

Исходный код (который отлично работает) выглядит так:

SELECT DISTINCT a.title_id, a.artist_id, fe_title.title, fe_artist.artist
FROM fe_title_artist AS a 
INNER JOIN fe_title ON a.title_id = fe_title.id
INNER JOIN fe_artist ON a.artist_id = fe_artist.id
INNER JOIN fe_title_artist AS b 
WHERE a.title_id=b.title_id 
and b.artist_id=(SELECT id FROM fe_artist WHERE artist = 'Patrick Duffy')

То, что я пробовал и не выполнил, выглядит следующим образом:

SELECT DISTINCT a.title_id, a.artist_id, fe_title.title, fe_artist.artist
FROM fe_title_artist AS a 
INNER JOIN fe_title ON a.title_id = fe_title.id
INNER JOIN fe_artist ON a.artist_id = fe_artist.id
INNER JOIN fe_title_artist AS b 
WHERE a.title_id=b.title_id 
and b.artist_id=(SELECT id FROM fe_artist WHERE artist LIKE '%Patrick%')

Никаких результатов по этому поводу.

Является ли подстановочный знак внутри предложения where слишком большим? Является ли самосоединение причиной проблемы? Есть ли способ кодировать это по-другому? Я просто глуп?

Я надеюсь, что кто-то может помочь мне. Спасибо.

  • 0
    ммм, который должен работать так же. Вы пробовали просто SELECT id FROM fe_artist WHERE artist LIKE '%Patrick%' ??
  • 0
    Часть artist_id= может быть проблемой. Он будет ожидать один результат от выбора. Попробуйте artist_id in (SELECT .
Показать ещё 4 комментария
Теги:
database
select
wildcard
inner-join

1 ответ

0
Лучший ответ

Это связано с тем, что Subquery возвращает более 1 строки. Пожалуйста, используйте ниже запрос.

SELECT DISTINCT a.title_id, a.artist_id, fe_title.title, fe_artist.artist
FROM fe_title_artist AS a 
INNER JOIN fe_title ON a.title_id = fe_title.id
INNER JOIN fe_artist ON a.artist_id = fe_artist.id
INNER JOIN fe_title_artist AS b 
WHERE a.title_id=b.title_id 
and b.artist_id IN (SELECT id FROM fe_artist WHERE artist LIKE '%Patrick%')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню