文章表存储文章 ID 和标题值。 table similar 通过匹配 article = similar 表 ID 来添加具有 similar_id 的额外文章。
我最好显示输出,这很难用语言解释:
Article with id 3 -> Title3 Text3
when
Similar articles -> Title1(voteup,votedown), Title2(voteup,votedown)
因为文章表id=相似表id。 ( 3 = 3[similar_id 1],3[similar_id 2]。) 并且可能当文章输出相似的文章 id 时,它必须返回并从第一个表中获取 similar_id 的标题。
-
Table Articles:
ID Title text
1 title1 text1
2 title2 text2
3 title3 text3
Table Similar:
ID Similar_ID voteup votedown
1 2 50 2
2 3 1621 531
3 1 ... ...
3 2 ... ...
最佳答案
根据您的要求,Similar_ID
字段在这里是一个转移话题,不应包含在查询中:
SELECT articles.Title, similar.VoteUp, similar.VoteDown
FROM articles
JOIN similar ON articles.ID = similar.ID
WHERE articles.ID = 3
要包含相似的标题(虽然我不太确定您希望数据的结构如何),您可以这样做:
SELECT articles.Title, similar.VoteUp, similar.VoteDown, similar_articles.Title AS SimilarTitle
FROM articles
JOIN similar ON articles.ID = similar.ID
JOIN articles similar_articles ON similar.Similar_ID = similar_articles.ID
WHERE articles.ID = 3
关于mysql - 如何加入这些表?是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939578/