[英]Join on multiple tables one query
I have 5 tables pages, articles, text, images and videos. 我有5个表格的页面,文章,文本,图像和视频。
My question is how can I get 我的问题是我怎么能
page-(pk)pageId page-(pk)pageId
articles-(pk)articleId,(fk)pageId. 文章-(pk)articleId,(fk)pageId。
SELECT pageTitle, GROUP_CONCAT(articleTitle)
FROM pages
JOIN articles ON articles.pageId = pages.pageId
GROUP BY pageTitle
RESULTS: GOOD 结果:良好
articles(pk)articleId 文章(pk)articleId
text-(fk)articleId 文字-(fk)articleId
images(fk)articleId images(fk)articleId
videos(fk)articleId 视频(fk)articleId
SELECT pageTitle, GROUP_CONCAT(articleTitle) AS articleTitle,
group_concat(textId) AS textId, group_concat(text) AS text,
group_concat(imageId) AS imageId,group_concat(imageLoc) AS imageLoc ,
group_concat(videoId) AS videoId,group_concat(videoLoc) AS videoLoc
FROM articles
JOIN pages ON pages.pageId = articles.pageId
JOIN text ON text.articleId = articles.articleId
JOIN images ON images.articleId = articles.articleId
JOIN videos ON videos.articleId = articles.articleId
GROUP BY pageTitle
RESULTS: MISSING TYSON1 from GROUP_CONCAT(articleTitle) 结果:GROUP_CONCAT中的TYSON1丢失(文章标题)
I want to be able to join all on one table. 我希望能够在一张桌子上全部加入。 As well as get tyson1 to display in query.
以及让tyson1显示在查询中。 Not sure why it's not displaying.
不知道为什么它不显示。 Im not sure if im doing the right type of join, if I need two SELECT statements to get this data, or if im not doing alias correctly.
我不确定我是否在执行正确的连接类型,是否需要两个SELECT语句来获取此数据,或者我是否未正确执行别名。
The columns in each table go as follow 每个表中的列如下
pages: 页面:
articles: 文章:
text: 文本:
images: 图片:
Videos: 影片:
Try next query that use left join: 尝试使用左联接的下一个查询:
SELECT
pageTitle,
GROUP_CONCAT(articleTitle) AS articleTitles,
GROUP_CONCAT(textId) AS textIds,
GROUP_CONCAT(text) AS texts,
GROUP_CONCAT(imageId) AS imageIds
GROUP_CONCAT(imageLoc) AS imageLocs,
GROUP_CONCAT(videoId) AS videoIds,
GROUP_CONCAT(videoLoc) AS videoLocs
FROM
articles
JOIN
pages ON pages.pageId = articles.pageId
LEFT JOIN
text ON text.articleId = articles.articleId
LEFT JOIN
images ON images.articleId = articles.articleId
LEFT JOIN
videos ON videos.articleId = articles.articleId
GROUP BY
pageTitle
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.