从连接表中选择不同列
答
SELECT c.id, c.user_id, u.username, u.date, u.posts
FROM comments c, users u
WHERE [something]
一个很好的参考
答
"SELECT id, user_id FROM comments";
"SELECT username, date, posts FROM users";
答
不要忘记使用加入,丹的回答会导致笛卡尔乘积(即表逗号表),如果您不小心忘了把加入条件放在WHERE子句中
SELECT c.id, c.user_id, u.username, u.date, u.posts
FROM comments c join users u using(user_id)
WHERE [something]
答
根据你的问题,我想你不要在其他答案中不知道要在WHERE [something]
中输入什么。
SELECT c.id, c.user_id, u.username, u.date, u.posts
FROM comments c, users u
WHERE c.user_id = u.id
假设users
表中的用户ID字段被称为id
。
您也可以使用:
SELECT c.id, c.user_id, u.username, u.date, u.posts
FROM users u
INNER JOIN comments c ON c.user_id = u.id
不管怎么说,这将解决你的问题,但我会推荐一些MySQL的(或SQL一般)读数像MySql Manual
什么是C和U? – avoid 2010-07-09 04:19:08
注意评论和用户后的c和u;那些为表格声明“别名”,这使得更容易引用它们。 – 2010-07-09 04:20:14
它被称为别名。它允许您缩短查询中使用的表的名称,或者对具有不同别名的同一个表进行两次调用。 – 2010-07-09 04:21:19