mysql - 如何加入这些表?是否可以?

标签 mysql

文章表存储文章 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/

相关文章:

java - hibernate 中返回日期错误

Mysql 左连接与连接?

php - simplexml_load_file 到数据库 utf-8

python - 使用python将日期时间转换为mysql格式

mysql - 左外连接不返回左表中的所有行?

php - 删除表格行中的数据并将其分配给 PHP 变量

mysql - 如何将 postgresql 查询转换为 mysql 查询

java - Android SQLite 查询

html - 使用 php 和 mysql 使用 utf-8 编码将希伯来语存储在数据库中

MySQL:通过公共(public)标签匹配对象