簡體   English   中英

基於MySQL選擇多個表

[英]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 titleactors namedirectors 基於某些關鍵字的name ma表有場movie ,提及movie id和現場actor ,提及actor id等。 我想按movie顯示結果組。 id 問題是我無法弄清楚如何根據directorsactors ,基於引用了moviesmamd來表演。 抱歉,如果您認為這個問題值得,可以對其進行編輯。

那么,有什么想法嗎?

這個你什么都有

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM