MySQL的 - 从两个连接的表
问题描述:
2表限制:MySQL的 - 从两个连接的表
name
id | title
和
content
name | title
一个名字有几个内容。 name.id〜content.name
我需要得到3个名字的所有内容。
SELECT name.title, content.title
FROM name LEFT JOIN content ON name.id = content.name
LIMIT 3
结果在3项内容,而不是名字
是否有可能有一个查询做到这一点?
答
试试这个:
SELECT name.title, content.title, content.name
FROM name LEFT JOIN content ON name.id = content.name
LIMIT 0, 3
此外,您还需要使用一个alias
因为你选择两个title
领域:
SELECT (name.title) as name_title, content.title, content.name
FROM name LEFT JOIN content ON name.id = content.name
LIMIT 0, 3
更新:
我想你只需要name
字段,只要我可以从你的评论中找出,试试这个:
SELECT content.name
FROM name LEFT JOIN content ON name.id = content.name
LIMIT 0, 3
答
SELECT content.name, content.title
FROM name LEFT JOIN content ON name.id = content.name
LIMIT 0, 3
答
子查询?
SELECT name.title, content.title
FROM name LEFT JOIN content ON name.id = content.name
WHERE name.id IN (SELECT name.id FROM name LIMIT 3)
+1提的别名。这肯定清除它 – espais 2010-05-11 14:07:17
问题是,我不知道我应该有多少个结果得到的。我需要3个名字,但它们可以包含3到∞的内容 – Qiao 2010-05-11 14:09:29
@Qiao:这应该返回三行,并且有三个名字,因为您已经设置了“LIMIT 0,3”,它将只返回三行。 – Sarfraz 2010-05-11 14:13:32