我正在尝试编写一个查询以从数据库中导出产品。到目前为止,如果"extrafields"中的某个字段为空或有内容,我可以让它提取记录,但如果"extra fields"数据库中不存在数据,我不知道如何将其包括在内。如果有人能提供任何帮助,我将不胜感激,以下是我目前所掌握的信息。
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
您可以使用左联接:
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