标签: mysql-error-1222

使用的SELECT语句具有不同的列数(REDUX !!)

还有一个类似的问题,但它似乎没有回答我的问题.

我的问题是:为什么我ERROR 1222 (21000): The used SELECT statements have a different number of columns从以下SQL中收回此错误

SELECT * FROM friends
LEFT JOIN users AS u1 ON users.uid = friends.fid1
LEFT JOIN users AS u2 ON users.uid = friends.fid2
WHERE (friends.fid1 = 1) AND (friends.fid2 > 1)
UNION SELECT fid2 FROM friends
WHERE (friends.fid2  = 1) AND (friends.fid1 < 1)
ORDER BY RAND()
LIMIT 6;
Run Code Online (Sandbox Code Playgroud)

这是users:

+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default …
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-error-1222

14
推荐指数
1
解决办法
6万
查看次数

#1222 - 使用的SELECT语句具有不同的列数

为什么我得到#1222 - 使用的SELECT语句有不同的列数?我正试图从这个用户朋友和他自己加载墙上的帖子.

SELECT u.id AS pid, b2.id AS id, b2.message AS message, b2.date AS date FROM 
(
    (
        SELECT b.id AS id, b.pid AS pid, b.message AS message, b.date AS date FROM 
        wall_posts AS b 
        JOIN Friends AS f ON f.id = b.pid 
        WHERE f.buddy_id = '1' AND f.status = 'b'
        ORDER BY date DESC
        LIMIT 0, 10
    )
    UNION
    (
        SELECT * FROM
        wall_posts
        WHERE pid = '1'
        ORDER BY date DESC
        LIMIT 0, 10
    )
    ORDER BY …
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-error-1222

11
推荐指数
1
解决办法
4万
查看次数

从具有不同列数的两个表中选择*

如何从两个不同的表中选择不同的列,例如:

SELECT username, email FROM `table1` 
UNION
 SELECT * FROM `table2` WHERE username = 'user1';
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误"#1222 - The used SELECT statements have a different number of columns".根据我的理解,UNION不起作用,

有没有办法实现这一点,因为我需要不等数量的列和行,并且两个表中没有相互/相似的条目(即user1未在table1中列出)?

这可以不在一个查询中完成吗?

谢谢!

php mysql sql mysql-error-1222

5
推荐指数
2
解决办法
9090
查看次数

标签 统计

mysql ×3

mysql-error-1222 ×3

sql ×3

php ×1