[英]Selecting multiple table based on MySQL
我想對我的數據庫表執行搜索查詢。 這是我的表格示例。
movies
--------------------------
ID (INT) | TITLE (VARCHAR)
--------------------------
actors
-------------------------
ID (INT) | NAME (VARCHAR)
-------------------------
directors
-------------------------
ID (INT) | NAME (VARCHAR)
-------------------------
ma
------------------------------------
ID (INT) | MOVIE (INT) | ACTOR (INT)
------------------------------------
md
---------------------------------------
ID (INT) | MOVIE (INT) | DIRECTOR (INT)
---------------------------------------
我想搜索movies
。 title
, actors
。 name
, directors
。 基於某些關鍵字的name
。 ma
表有場movie
,提及movie
。 id
和現場actor
,提及actor
。 id
等。 我想按movie
顯示結果組。 id
。 問題是我無法弄清楚如何根據directors
和actors
,基於引用了movies
表ma
和md
來表演。 抱歉,如果您認為這個問題值得,可以對其進行編輯。
那么,有什么想法嗎?
這個你什么都有
SELECT m.title, a.name AS actor, d.name AS director
FROM movies m
INNER JOIN ma ON (ma.movie_id = m.id)
INNER JOIN actors a ON (a.id = ma.actor_id)
INNER JOIN md ON (md.movie_id = m.id)
INNER JOIN directors d ON (d.id = md.director_id)
ORDER BY m.title
您按電影分組的那個
SELECT m.title, GROUP_CONCAT(a.name) AS actorS, GROUP_CONCAT(d.name) AS directors
FROM movies m
INNER JOIN ma ON (ma.movie_id = m.id)
INNER JOIN actors a ON (a.id = ma.actor_id)
INNER JOIN md ON (md.movie_id = m.id)
INNER JOIN directors d ON (d.id = md.director_id)
GROUP BY m.id
ORDER BY m.title
[編輯]
看在上帝的份上..只需添加位置
...在哪里m.title喜歡'KEYWORD%'或a.name喜歡'KEYWORD%'或d.name喜歡'KEYWORD%'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.