需要一些帮助来理解为什么我的concat()失败以及如何解决它 . 我从来没有使用过concat(),但遇到的情况是我需要从另一个表中获取unit_nbr并将另一个字段连接到它以在主选择中创建一个字段 .
这是我使用的CONCAT(): CONCAT(b.name, ' - ', unit_nbr) as lease_name
我正在寻找的输出类似于“lease_name”:John Doe - 123单元
这是我的SQL:
SELECT a.lease_id, a.occupant_id, a.unit_id, (SELECT xx.unit_nbr FROM p_unit xx WHERE xx.unit_id = a.unit_id) as unit_nbr, c.name as prop_name, d.p_name, CONCAT(b.name, ' - ', unit_nbr) as lease_name
FROM o_leases a, p_occupants b, properties c, portfolio d
WHERE a.occupant_id = b.occupant_id
AND b.property_id = c.properties_id
AND c.portfolio_id = d.portfolio_id
AND a.archived = 1';
谁能帮我?谢谢 .
2 回答
你不要使用这样的别名 .
尝试:
您不能在SELECT中使用字段别名:
CONCAT(b.name, ' - ', unit_nbr)
( unit_nbr 是别名)尝试另一个解决方案是通过子查询替换CONCAT中的unit_nbr(
... CONCAT(aaa.name, ' - ', (SELECT xx.unit_nbr FROM p_unit xx WHERE xx.unit_id = a.unit_id)) as lease_name...