如何在SQL JOIN查询中添加表中不存在的空值或固定值字段
跨表查询添加自定义常量/空值字段实现方法
在SELECT查询中直接给固定值/空值起别名即可,不需要修改原表结构,查询引擎会自动给所有返回行填充你指定的字段值,完全可以匹配导入文件的固定字段结构要求。
两个自定义字段的写法
Codenumber(全行为空):直接使用NULL AS Codenumber即可,如果导入要求字段为特定数据类型的空值,可以用CAST函数做类型转换,比如需要字符串类型空值就写CAST(NULL AS CHAR) AS Codenumber,需要整数类型空值就写CAST(NULL AS SIGNED) AS Codenumber。Factor(全行固定为'Yes'):直接写常量值加别名,即'Yes' AS Factor,如果后续需要替换成其他固定文本(比如'not available'),直接修改单引号内的内容即可。
修正后的完整可运行SQL
注意原查询中Product_discount.price字段末尾多了一个冗余逗号,直接运行会报语法错误,修正后代码如下:
SELECT Product.id, Product.component_number, Product_discount.price, NULL AS Codenumber, 'Yes' AS Factor FROM Product LEFT JOIN Product_discount ON Product_discount.id = Product.id WHERE Product.deleted = 0
提示:如果后续需要新增更多固定值字段,按照相同的
固定值 AS 字段名格式加在SELECT子句里就行,字段顺序调整成和导入文件要求的顺序完全一致即可直接导出使用。
内容的提问来源于stack exchange,提问作者Lutter
相关产品推荐
相关产品推荐

