0

如果我有一个返回名字和姓氏的查询,我将如何将它们组合到 1 个字段中?

我希望能够选择一个 id - 然后根据该 id 找到名字和姓氏,然后将它们连接起来以获得最终返回的字符串。

我正在处理一个复杂的查询,其中返回了许多列 - 过去我已经进行了更多查询,并使用 php.ini 替换了一些值。但我想让这一切都在原始查询中工作。

现在我正在做类似的事情:

SELECT id From....etc

然后在 php 中我执行此查询并将 id 替换为返回的名字和姓氏值

SELECT lastName, firstName FROM people, patient WHERE idpatient = $data AND people_id = id

然后将结果更改为:

id:1 ---> id: 姓,名

有没有办法将这两个查询合并为一个?

4

1 回答 1

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

如果您还对可能在患者中没有条目的人的行感兴趣。

于 2012-04-13T15:57:50.940 回答