Mysql使用情况“;作为「;
我是一名网络开发人员,我曾经面对过这个问题。。。 我正在使用php和mysql开发统计web应用程序部件Mysql使用情况“;作为「;,mysql,Mysql,我是一名网络开发人员,我曾经面对过这个问题。。。 我正在使用php和mysql开发统计web应用程序部件 SELECT IF (cat1 = "S4", 1, 0) AS ncat1, IF (cat2 = "S4", 1, 0) AS ncat2, IF (cat3 = "S4", 1, 0) AS ncat3, IF (cat4 = "S4", 1, 0) AS ncat4, (ncat1 +
SELECT
IF (cat1 = "S4", 1, 0) AS ncat1,
IF (cat2 = "S4", 1, 0) AS ncat2,
IF (cat3 = "S4", 1, 0) AS ncat3,
IF (cat4 = "S4", 1, 0) AS ncat4,
(ncat1 + ncat2 + ncat3 + ncat4) AS ntotal
FROM
users
我想用这种格式得到ntotal。但它不起作用,未知列ncat1
因此,我认为fullstack开发人员可以帮助我更轻松、更快速地完成任务
请帮帮我。。。。
谢谢…您的
ncat1
和其他列名不在您的(ncat1+ncat2+ncat3+ncat4)作为ntotal
行的范围内。所以你不能在那里提到他们
尝试使用子查询将它们引入范围,如下所示:
SELECT *, (ncat1 + ncat2 + ncat3 + ncat4) AS ntotal
FROM (
SELECT
IF (cat1 = "S4", 1, 0) AS ncat1,
IF (cat2 = "S4", 1, 0) AS ncat2,
IF (cat3 = "S4", 1, 0) AS ncat3,
IF (cat4 = "S4", 1, 0) AS ncat4
FROM coursered
) subquery
您的别名(即ncat1
)无法在SQL语句中使用
我将使用一个简单的子查询来解决此问题:
SELECT ncat1, ncat2, ncat3, ncat4,
(ncat1 + ncat2 + ncat3 + ncat4) AS ntotal
FROM (
SELECT
IF (cat1 = "S4", 1, 0) AS ncat1,
IF (cat2 = "S4", 1, 0) AS ncat2,
IF (cat3 = "S4", 1, 0) AS ncat3,
IF (cat4 = "S4", 1, 0) AS ncat4
FROM
users
) a
欢迎来到堆栈溢出。恕我直言,“不起作用”是指没有足够的信息来帮助您或我们找出问题所在。错误消息是您的朋友!ncat1-ncat4在计算ntotal时不可用,您可以重复所有ifsHow我可以重复吗?您可以共享表结构吗?…cate1 cate2 cate3 cate4。。。