我有三个表:
帖子:id、标题、authorId、文本
作者:身份证、姓名、国家
注释:id、authorId、text、postId
我想运行一个 mysql 命令,它选择由作者撰写的前 5 篇文章,作者的国家是“爱尔兰”。在同一个调用中,我想检索这五个帖子的所有评论,以及作者信息。
我尝试了以下方法:
SELECT posts.id as 'posts.id', posts.title as 'posts.title' (etc. etc. list all fields in three table)
FROM
(SELECT * FROM posts, authors WHERE authors.country = 'ireland' AND authors.id = posts.authorId LIMIT 0, 5 ) as posts
LEFT JOIN
comments ON comments.postId = posts.id,
authors
WHERE
authors.id = posts.authorId
我必须用别名 ^ 包含每个字段,因为 id 有一个重复项,并且将来更多字段可能会重复,因为我正在寻找一个通用的解决方案。
我的两个问题是:
1)我从我的子选择中获得了一个重复的字段条目作为id,所以我必须在子选择中再次列出我的所有字段作为别名,还是我只需要一个字段作为子选择
2)有没有办法让我的电话自动别名?目前,我刚刚为主选择中的每个字段添加了别名,但它可以为我执行此操作,因此没有重复项吗?
抱歉,如果这不是很清楚,这是一个有点混乱的问题!谢谢。