Py学习  »  DATABASE

如果满足条件,Mysql抓取行;如果不满足条件,则抓取另一行

Andrew Brown • 5 年前 • 1615 次点击  

我正试图将一个用户的地址加入到该用户的名称中。我想先加入他们的邮寄地址,但如果他们没有邮寄地址,我想加入他们的家庭地址,他们会有。我在努力寻找正确的方法来解决这个问题。这是一个简单的if/else。。如果他们的地址类型为“邮寄”,请选择此行,如果没有,请选择地址类型为“家庭”的行。任何帮助都很好。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/57330
 
1615 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Tim Biegeleisen
Reply   •   1 楼
Tim Biegeleisen    5 年前

听起来像是在做 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';