SQL Join两个表语句

时间:2013-02-05 03:03:08

标签: mysql sql join mysqli left-join

您好,我只是想知道是否有人能够帮助我使用sql join,因为我对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

2 个答案:

答案 0 :(得分:1)

您的加入ON条件应介于categories.category_idarticles.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-DD,这是MySQL的默认输出。如果确实如此将其存储在您的表格中(作为VARCHAR()而不是a proper DATE type),我建议您在进入项目太远之前更改该策略以便轻松更改。

答案 1 :(得分:0)

选择
  article_id的,
  标题,
 体,
  迄今为止,
  categories.category,
  笔者
从 用品   LEFT JOIN类别ON articles.category = categories.category_id

希望这会有所帮助......这与上面的一样...... :) 本文将在MYSQL中为您提供很多帮助,http://dev.mysql.com/doc/refman/5.0/en/join.html