当未找到 id 时,查询会产生 1 行包含空值的结果

Ste*_*rek 5 mysql foreign-keys

确切的查询:

选择 coupon_couponscode,
coupon_coupons. discountTypeAS“类型”,
coupon_coupons. discountAmountAS“金额”,
coupon_coupons. discountAppliedAS“应用”,
coupon_coupons. description,
group_concat( coupon_targetsku.separator sku';') AS 'targetsku'
FROM coupon_coupons
LEFT JOIN coupon_targetskuON coupon_couponscode= coupon_targetskucode
在哪里coupon_couponscode= '测试代码'

coupon_coupons.code = 主键
coupon_targetsku.code = fk(coupon_coupons.code)

如果coupon_coupons. code在数据库中找到时,查询将按预期运行,但当未找到时,返回的结果集是一行,全部为 NULL 值。我猜我左连接做错了。

如果找不到代码,我希望此查询返回零行。

我正在使用 mysql:
服务器版本 5.1.36-community-log
协议版本:10

提前致谢。

Der*_*air 5

group by使用的时候很好用group_concat()

SELECT coupon_coupons.code,
coupon_coupons.discountType AS 'type',
coupon_coupons.discountAmount AS 'amount',
coupon_coupons.discountApplied AS 'applied',
coupon_coupons.description,
group_concat(coupon_targetsku.sku separator ';') AS 'targetsku' 
FROM coupon_coupons
JOIN coupon_targetsku ON coupon_coupons.code = coupon_targetsku.code 
WHERE coupon_coupons.code = 'testCode'
GROUP BY coupon_coupons.code
Run Code Online (Sandbox Code Playgroud)