相关疑难解决方法(0)

MySQL - 操作数应包含1列

在我正在创建的系统上工作时,我试图在我的项目中使用以下查询:

SELECT
topics.id,
topics.name,
topics.post_count,
topics.view_count,
COUNT( posts.solved_post ) AS solved_post,
(SELECT users.username AS posted_by,
    users.id AS posted_by_id
    FROM users
    WHERE users.id = posts.posted_by)
FROM topics
LEFT OUTER JOIN posts ON posts.topic_id = topics.id
WHERE topics.cat_id = :cat
GROUP BY topics.id
Run Code Online (Sandbox Code Playgroud)

":cat"由我的PHP代码绑定,因为我正在使用PDO.2是":cat"的有效值.

该查询虽然给我一个错误:"#1241 - 操作数应包含1列"

让我感到困惑的是,我认为这个查询没有问题.选择列,然后从另一个表中再选择两个,然后从那里继续.我只是无法弄清楚问题是什么.

是否有一个简单的解决方法,或其他方式来编写我的查询?

mysql sql mysql-error-1241

73
推荐指数
5
解决办法
24万
查看次数

替代NOT IN在MySQL上

我有一个问题

SELECT DISTINCT phoneNum 
FROM `Transaction_Register` 
WHERE phoneNum NOT IN (SELECT phoneNum FROM `Subscription`) 
LIMIT 0 , 1000000
Run Code Online (Sandbox Code Playgroud)

执行b/c Transaction_Register表需要太多时间有数百万条记录是否有任何上述查询的替代方案我会感激你们,如果有的话.

mysql sql

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

MYSQL:如果一个连接的行匹配条件,则排除多个行

我有两张桌子.一个是用户,其中包含字段uid和名称.另一个表是users_roles,其中包含字段uid和rid(role id).

我想要检索没有任何一组提供的角色的用户列表.

例如:

uid | name
----------
1   | BOB
2   | DAVE
3   | JOHN
Run Code Online (Sandbox Code Playgroud)

USERS_ROLES:

uid | rid
---------
1   | 1
1   | 2
1   | 3
2   | 1
3   | 1
Run Code Online (Sandbox Code Playgroud)

我希望能够只查询没有一组rids的用户.例如,排除rid 2和3的查询应该返回DAVE和JOHN,或者排除rids(1,3)的查询应该返回nobody.

mysql sql drupal

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

标签 统计

mysql ×3

sql ×3

drupal ×1

mysql-error-1241 ×1