我正试图将一个用户的地址加入到该用户的名称中。我想先加入他们的邮寄地址,但如果他们没有邮寄地址,我想加入他们的家庭地址,他们会有。我在努力寻找正确的方法来解决这个问题。这是一个简单的if/else。。如果他们的地址类型为“邮寄”,请选择此行,如果没有,请选择地址类型为“家庭”的行。任何帮助都很好。
听起来像是在做 二 COALESCE 选择所需地址:
COALESCE
SELECT u.name, COALESCE(a1.address, a2.address) AS address FROM user u LEFT JOIN address a1 ON u.id = a1.user_id AND a1.address_type = 'Mailing' LEFT JOIN address a2 ON u.id = a2.user_id AND a2.address_type = 'Home';