-1

我只是想知道是否有人能够帮助我进行 SQL 连接,因为我对 MySQL 还很陌生。我正在寻找加入两个表,这里是我的表和我正在寻找的最终结果的样子,在此先感谢!

TABLE ARTICLES 
article_id    title    body            date       category     author
1             Lorem    Lorem ipsum..   1/1/2013   1            Mitchell

TABLE CATEGORIES
category_id   category
1             Web Design

SQL 语句

select categories.category_id, categories.category as category
from categories left outer join articles on categories.category = articles.category

我正在寻找的 SQL 结果

article_id    title    body            date       category     author
1             Lorem    Lorem ipsum..   1/1/2013   Web Design   Mitchell
4

2 回答 2

1

您的加入ON条件应介于categories.category_id和之间articles.category。否则,您只需要在列表中添加更多列SELECT,因为您快到了。

SELECT
  article_id,
  title,
  body,
  date,
  categories.category,
  author
FROM
  articles
  LEFT JOIN categories ON articles.category = categories.category_id

这是在行动:http ://sqlfiddle.com/#!2/0e0c1/1

我注意到您在m/d/yyyy这里以格式列出了您的日期,而不是YYYY-MM-DDMySQL 的默认输出。如果这确实是您将其存储在表中的方式(作为VARCHAR()而不是适当的DATE类型),我建议您在深入项目而无法轻松更改之前更改该策略。

于 2013-02-05T03:06:22.020 回答
0
SELECT
  article_id,
  title,
  body,
  date,
  categories.category,
  author
FROM
articles 
  LEFT JOIN categories ON articles.category = categories.category_id

这篇文章会对你在 MYSQL 中帮助很大,http://dev.mysql.com/doc/refman/5.0/en/join.html

于 2013-02-05T04:31:11.163 回答