2012-04-13 17 views
0

姓と名字を返すクエリがある場合、どのようにそれらを1つのフィールドに結合するのですか?mysqlクエリに基づいて文字列を書く

私はIDを選択できるようにしたい - 最初と最後の名前はそのIDに基づいて見つけられ、それらは最後に返された文字列のために連結されます。

多くの列が返されている複雑なクエリに取り組んでいます。過去に私は後で多くのクエリを取り込み、phpを使っていくつかの値を置き換えました。しかし、私はそれがすべて元のクエリで動作するようにしたいと思います。

今私はこれに似た何かをやっている:

SELECT id From....etc 

それから私は、このクエリを実行すると、最初と最後の名前のために返された値とIDを置き換え、その後、PHPで

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

id:1 ---> id:lastname、ファーストネーム

には、これら両方のクエリを1つに結合する方法がありますか?あなたが持っている人々の行でのみ興味があるなら、あなたの質問の最初の部分については

+0

2つのクエリは異なるデータベース/テーブルをクエリしますか? –

+0

はい、そのIDは他のテーブルの参照として使用されます。その場合は – user1245706

+0

、一度に1つのテーブルしか照会できませんので、私はその致命的と思いますか? –

答えて

0

、また、あなたが明示的を使用してこのクエリを書き直すことができCONCAT

SELECT CONCAT(lastName, firstName) AS full_name 
FROM people, patient 
WHERE idpatient = $data AND people_id = id 

を使用するには、

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 

もしもあなたの人の行に興味があれば患者の項目がない。

関連する問題