Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-错误的值_Mysql_Sql - Fatal编程技术网

MySQL-错误的值

MySQL-错误的值,mysql,sql,Mysql,Sql,我试着计算一些数字,我一直发誓,因为它失败了,然后我试着这样做: SELECT SUM( 10 *1 ) FROM user_achievements INNER JOIN achievements WHERE user_achievements.user_id =8 上面写着:420 我试着让它起作用: SELECT SUM((SELECT score_base FROM achievements WHERE id = user_achievements.achievement_id)*(

我试着计算一些数字,我一直发誓,因为它失败了,然后我试着这样做:

SELECT SUM( 10 *1 ) 
FROM user_achievements
INNER JOIN achievements
WHERE user_achievements.user_id =8
上面写着:420

我试着让它起作用:

SELECT SUM((SELECT score_base FROM achievements WHERE id = user_achievements.achievement_id)*((SELECT pixels_multiplier FROM achievements WHERE id = user_achievements.achievement_id)) * achievement_level) * achievement_level FROM user_achievements INNER JOIN achievements WHERE user_achievements.user_id=2
成就: 身份证件 水平, 像素作为基础, 得分基础, 像素/倍增器

用户成就: 用户id, 成就(id),
如果查询为return 420,则表示在聚合之前的结果集中返回42行

这是您的查询:

SELECT sum(10*1)
FROM user_achievements ua cross join
     achievements a
WHERE ua.user_id = 8;
如果让我猜,您缺少一个连接:

SELECT sum(10*1)
FROM user_achievements ua join
     achievements a
     on ua.achievement_id = a.id
WHERE ua.user_id = 8;
编辑:

这是注释中的查询:

SELECT sum((SELECT score_base
            FROM achievements
            WHERE id = ua.achievement_id
            ) *
            (SELECT pixels_multiplier
             FROM achievements
             WHERE id = ua.achievement_id
            )
           )
FROM user_achievements ua join
     achievements a
     on ua.achievement_id = a.id
WHERE ua.user_id = 2;
它甚至不应该解析。聚合中不允许子查询。试试这个:

SELECT sum(a.score_base * a.pixels_multiplier)
FROM user_achievements ua join
     achievements a
     on ua.achievement_id = a.id
WHERE ua.user_id = 2;

1054-条款“中的未知列a.a.U id”只需将a更改为ua,将ua更改为a即可comparison@user3249998 . . . 我不知道您表中字段的名称。我正在展示一个查询的示例。将其用作给定数据库的指南。我尝试过此操作,但未起作用:选择sumSELECT score\u base FROM magnities,其中id=user\u sagnities.magnities\u id*选择pixels\u multiplier FROM magnities,其中id=user\u sagnities.magnities\u id FROM user\u sagnities用户\u sagnities加入成就a上的成就user_acgregations.acgregation_id=a.id,其中user_acgregations.user_id=2;两者都给出了这个错误:1054-未知列“user\u acgregations.user\u id”在“where子句”中可以显示这两个表的create语句。您可以省略任何未使用的字段。已添加!希望有帮助: