[英]Mysql search on multiple rows, multiple tables with multiple keywords
如果可能,我想調整以下mysql查詢:
SELECT * FROM artists,tags WHERE tags.tag_title LIKE '$q' AND artists.art_id=tags.art_id
$q
是用戶輸入的關鍵字 使用此查詢, tags.tag_title
必須匹配確切的搜索。 例如,“ alternative rock”將在表格標簽中顯示所有帶有關鍵字“ alternative rock”的藝術家。 沒關系。
因此,問題是,對於關鍵字“ alternative rock”,我還要在表格標簽的不同行中顯示具有關鍵字“ alternative”和“ rock”的藝術家,而不是關鍵字“ alternative”和“金屬”或關鍵字為“獨立”和“搖滾”的藝術家。
有道理嗎?
您正在尋找這樣的東西,
SELECT * FROM artists
INNER JOIN tags
ON artists.art_id=tags.art_id
WHERE tags.tag_title LIKE '% $q1 %' OR tags.tag_title LIKE '% $q2 %'
q1和q2分別為keyword1和keyword2
顯然,這只是一個例子,但我認為您正在追求這樣的東西:
SELECT * FROM artisits artist LEFT JOIN tags tag ON tag.artist_id = artist.id WHERE artist.name LIKE '$q' OR tag.name = $q
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.