MySqlデータベースからユーザープロファイルを選択しようとしています。私はまた、複数の電話を持つことができるので、ユーザーの電話を含む別のテーブルがあります。電話のテーブルでは、連絡先がメインであることを示すmain
というフィールドがあります。一致が一致する場合はMySqlの値を選択し、一致しない場合は最初を選択します
したがって、ユーザーは3台の電話機(またはそれ以上)を持つことができますが、メイン電話機は1台のみです。ユーザープロファイルを選択するときに、メインの電話としてマークされている電話があるかどうかを確認し、これを選択する必要があります。 main
と記された電話がない場合は、リストから最初の電話番号を選択します。
これは私の携帯電話のテーブルです:
id | id_user | main | phone
15 | 23 | 0 | 99999999999
16 | 23 | 1 | 88888888888
17 | 27 | 0 | 66666666666
18 | 27 | 0 | 77777777777
は、したがって、上記の例では、私が電話88888888888
とユーザー27のニーズを持っているために、両方のユーザー(23及び27)を選択するために、ユーザ23ニーズが必要になります電話番号は66666666666
です。
しかし、私はこれを達成する方法がわからない、私は最初のレジスタを選択するためのエールだった、これは私のコードは、これまでのところです:
SELECT
a.id, a.f_name, a.l_name, a.code,
(
SELECT phone FROM tb_phone WHERE id_user = a.id ORDER BY id LIMIT 1
) as 'phone'
FROM tb_user a
WHERE a.active = 1
私はそれより簡単だったのは面白いです。答えをありがとう! – celsomtrindade