0

姓名を返すクエリがある場合、それらを 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: 姓、名

これらの両方のクエリを 1 つに結合する方法はありますか?

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 に答える