【问题标题】:MySql join 3 tables - Multiple joinMySql 连接 3 个表 - 多重连接
【发布时间】:2011-11-19 15:18:02
【问题描述】:

SELECT type_files.html_embed_before
   , script_files.path
   , type_files.html_embed_after
FROM type_files
INNER JOIN script_files ON (type_files.type = script_files.type)

上面的代码为我提供了所有 script_files 的信息。 我想在查询的基础上得到

  • script_files.id = script_match.file_id

  • script_matches.ap_id 等于 article.head、header.head 或 footer.head。

  • 将传入文章、页眉、页脚的ID

【问题讨论】:

  • [关闭] 很难说出这里问的是什么。这个问题是模棱两可、含糊不清、不完整、过于宽泛或修辞的,无法以目前的形式得到合理的回答。
  • @MichaelDurrant 我同意这有点含糊/难以理解,但我对这个问题抱有希望。该图(希望)帮助我破译它。

标签: mysql sql join inner-join


【解决方案1】:

我最不了解的要求是您从 script_match 到文章、页眉和页脚的链接。如果我理解正确,这应该是你想要的。

SELECT tf.html_embed_before
   , sf.path
   , tf.html_embed_after
FROM type_files AS tf
INNER JOIN script_files AS sf ON tf.type = sf.type
INNER JOIN script_match AS sm ON sf.Id = sm.file_id
WHERE sm.ap_id IN
(
   SELECT a.head
   FROM article AS a
   WHERE a.id = @yourId

   UNION ALL

   SELECT h.head
   FROM header AS h
   WHERE h.id = @yourId

   UNION ALL

   SELECT f.head
   FROM footer AS f
   WHERE f.id = @yourId
)

MySQL JOIN 文档

Jeff Atwood's Coding Horror article on Joins

【讨论】:

  • 是的,这就是我问的答案.. 有没有加入教程的链接?我在这节课上 9/10 去我的大学,但很久以前.. :(
  • 我已经发布了 MySQL 连接文档的链接,以及一篇关于连接的好文章(带图片)。如果您不喜欢这些,或想了解更多信息,请 google mysql join tutorial
猜你喜欢
  • 2014-02-04
  • 2016-08-31
  • 2013-04-21
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 2015-01-14
相关资源
最近更新 更多