SQL ISNULL但如果不存在则还需要结果

时间:2015-03-18 11:11:21

标签: sql

我正在尝试编写一个查询来从我的数据库中导出产品。到目前为止,如果'extrafields'中的一个字段为空或者有内容,我可以得到它来拉取记录但我无法弄清楚如果在'extrafields'数据库中不存在数据我也会非常包括如果有人能提供任何帮助,我感激不尽,这就是我迄今所拥有的。

SELECT 
 p.code as `SKU`,
 case when ISNULL (e.content) THEN p.name ELSE CONCAT(p.name,'-',e.content) END as `ItemTitle`,
 p.scLevel as `AvailableQuantity`,
 p.price1 as `RetailPrice`,
 '' as `Description`
 FROM  jss_products p
 INNER JOIN jss_extrafields_values e ON e.productID = p.productID

1 个答案:

答案 0 :(得分:1)

您可以使用左连接:

SELECT 
 p.code as `SKU`,
 case when ISNULL (e.content) THEN p.name ELSE CONCAT(p.name,'-',e.content) END as `ItemTitle`,
 p.scLevel as `AvailableQuantity`,
 p.price1 as `RetailPrice`,
 '' as `Description`
 FROM  jss_products p
 LEFT JOIN jss_extrafields_values e ON e.productID = p.productID

如果它们不在第一个表中,那么你将使用p.productID作为空值,这样你就可以用它们过滤它们(如果你想的话):

....where p.productid is null