您好,我只是想知道是否有人能够帮助我使用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
答案 0 :(得分: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-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