SELECT 个语句有不同的列数
SELECT statements have different number of columns
我正在制作一个小型 php 网站,您可以在其中关注其他人,然后查看他们的 post。
我有三张桌子-
1.Posts,其中有 post_id 和 author_id
2.follow,其中有 following 和 follower
3.users,其中包含 ID、用户名和所有其他内容。我在 sql-
中尝试以下操作
SELECT * FROM posts,follow,users WHERE posts.author_id=users.id AND users.id=follow.following AND follow.follower='$id' UNION SELECT * FROM posts,users WHERE posts.author_id=users.id AND users.id='$id'
其中 $id 是登录用户的 ID。
显示如下错误-
#1222 - The used SELECT statements have a different number of columns
我已经搜索了几个小时,但找不到与我的查询相匹配的答案。
我将非常感谢上面代码的更好版本的答案。
提前致谢。
将两个查询联合在一起时,两者的列必须匹配。
你 select 来自 posts,follow,users
第一个查询和 posts,users
第二个。
这行不通。
第一个 SELECT 语句中的列名用作返回结果的列名。每个SELECT语句相应位置列出的选定列应具有相同的数据类型
也许 JOIN 会更好地为您服务...像这样:
SELECT * FROM posts
JOIN users on posts.author_id=users.id
JOIN followers on users.id=follow.following
WHERE follow.follower='$id'
我正在制作一个小型 php 网站,您可以在其中关注其他人,然后查看他们的 post。 我有三张桌子- 1.Posts,其中有 post_id 和 author_id 2.follow,其中有 following 和 follower 3.users,其中包含 ID、用户名和所有其他内容。我在 sql-
中尝试以下操作SELECT * FROM posts,follow,users WHERE posts.author_id=users.id AND users.id=follow.following AND follow.follower='$id' UNION SELECT * FROM posts,users WHERE posts.author_id=users.id AND users.id='$id'
其中 $id 是登录用户的 ID。
显示如下错误-
#1222 - The used SELECT statements have a different number of columns
我已经搜索了几个小时,但找不到与我的查询相匹配的答案。 我将非常感谢上面代码的更好版本的答案。
提前致谢。
将两个查询联合在一起时,两者的列必须匹配。
你 select 来自 posts,follow,users
第一个查询和 posts,users
第二个。
这行不通。
第一个 SELECT 语句中的列名用作返回结果的列名。每个SELECT语句相应位置列出的选定列应具有相同的数据类型
也许 JOIN 会更好地为您服务...像这样:
SELECT * FROM posts
JOIN users on posts.author_id=users.id
JOIN followers on users.id=follow.following
WHERE follow.follower='$id'