如果我有一个返回名字和姓氏的查询,我该如何将它们合并到1个字段中呢?
我希望能够选择一个id - 然后根据该id找到名字和姓氏,然后将它们连接起来作为最终返回的字符串。
我正在处理一个复杂的查询,其中返回了许多列 - 过去我已经进行了更多的查询并使用php替换了一些值。但我想在原始查询中完成所有工作。
现在我正在做类似的事情:
SELECT id From....etc
然后在php中我执行此查询并将id替换为名字的返回值
SELECT lastName, firstName FROM people, patient WHERE idpatient = $data AND people_id = id
结果随后改为:
id:1 ---> id:姓氏,名字
有没有办法将这两个查询合并为一个?
答案 0 :(得分:0)
对于问题的第一部分,请使用CONCAT
SELECT CONCAT( lastName, firstName ) AS full_name
FROM people, patient
WHERE idpatient = $data AND people_id = id
此外,您可以使用显式JOIN重写此查询
SELECT CONCAT( lastName, firstName ) AS full_name
FROM people
INNER JOIN patient ON people_id = id
WHERE idpatient = $data
如果您只对患者中有条目的人的行感兴趣,或
SELECT CONCAT( lastName, firstName ) AS full_name
FROM people
LEFT JOIN patient ON people_id = id
WHERE idpatient = $data
如果您对那些可能没有患者入口的人的行感兴趣。