Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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_Count_Group By_Left Join - Fatal编程技术网

Mysql 使用一些默认值左连接

Mysql 使用一些默认值左连接,mysql,sql,count,group-by,left-join,Mysql,Sql,Count,Group By,Left Join,我正在尝试构建一个查询,该查询将采用一些默认值,并与一个表保持连接。这只是为了在主查询(第二个)与任何行不匹配的情况下允许至少一个结果,因此可能返回空的结果集 我的问题大致如下: SELECT * FROM( (SELECT 'test' as `column1`, 'test' as `column2`, 0 as c) t1 LEFT JOIN (SELECT `column1`, `column2`, COUNT(*) as c FROM `

我正在尝试构建一个查询,该查询将采用一些默认值,并与一个表保持连接。这只是为了在主查询(第二个)与任何行不匹配的情况下允许至少一个结果,因此可能返回空的结果集

我的问题大致如下:

SELECT * FROM(
    (SELECT 'test' as `column1`, 'test' as `column2`, 0 as c) t1
    LEFT JOIN
        (SELECT `column1`, `column2`, COUNT(*) as c
        FROM `my_table`
        WHERE `status` = 1
        GROUP BY column1, column2) t2
)
它在phpmyadmin上显示mysql错误,如下所示:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't2 )' at line 7

请问这个查询有什么问题?

我想这就是您想要的查询:

SELECT t1.column1, t2.column2, coalesce(t2.c, 0)
FROM (SELECT 'test' as `column1`, 'test' as `column2`, 0 as c
     ) t1 LEFT JOIN
     (SELECT `column1`, `column2`, COUNT(*) as c
      FROM `my_table`
      WHERE `status` = 1
      GROUP BY column1, column2
     ) t2
     on t1.column1 = t2.column1 and t1.column2 = t2.column2;

您的查询不完整。例如,它没有关于子句的

嗨,谢谢你的提示。然而,像您给出的那样修改我的查询,我面临另一个问题“#1267-非法混合排序规则(utf8_general_ci,强制)和操作“=”的(latin1_swedish_ci,隐式)。这两列都是“latin1_swedish_ci”排序规则类型。请告诉我如何修复此错误?听起来您的数据库排序规则与表排序规则不同。使用
COLLATE
关键字。从这里开始:。感谢您为解决该问题提供了很大帮助。但是,我现在有另一个关于手动生成的表t1的问题。虽然查询与普通查询一样工作,但我的实现在“触发器”中,并且存在抛出错误。它的意思是“on子句中的未知列t1.column1”。触发器不接受手动生成的表吗?请问如何从中恢复?@Rana。触发器中没有这样的限制。我建议你问另一个问题,在哪里张贴你正在使用的触发代码。