1

MySQL を使用してサブクエリの結果をセッション変数に保存しようとしていますが、問題は、このクエリをこのように実行すると (以下のクエリを参照)、エラー メッセージが次のように表示されることです (以下のエラー メッセージを参照)。

この問題を解決する方法がわかりません。

(0 row(s) affected)
Execution Time : 00:00:00:343
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:343

Error Code : 1222
The used SELECT statements have a different number of columns

Execution Time : 00:00:00:000
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:000

クエリ

SET @post := 0;

SELECT user_name,
(SELECT COUNT(*) INTO @post  FROM post WHERE user_id = '23332'),
@post 
FROM `user_fans` WHERE user_id = '23332';
4

2 に答える 2

1
SET @post := 0;

SELECT  user_name,
        @post := (SELECT COUNT(*) FROM post WHERE user_id = '23332'),
        @post 
FROM    `user_fans`
WHERE   user_id = '23332';
于 2012-04-27T14:09:06.630 に答える
0

投稿数をさらに増やしたいだけなら問題ありません

投稿数だけを表示したい場合は、

SELECT  user_name,
        (SELECT COUNT(*) FROM post WHERE user_id = '23332') as Post,
FROM    `user_fans`
WHERE   user_id = '23332';
于 2012-04-27T14:11:55.080 に答える