特定のテーブルをクエリする必要があります。テーブル構造を変更できません。基本的には次のようになります。
user
-- ---------- ----
id address_id name
address
-- ---
id zip
language
-- ----
id lang
languageid
のエントリのは、ユーザーのと同じです。その主キーは と に基づいています。ユーザー上で可能です。 id
id
lang
address_id
null
今、私は単一のクエリですべてを取得したいと考えています。私はもう試した:
SELECT
p.name,
l.lang,
a.zip
FROM user p
JOIN language l ON p.id = l.id
LEFT JOIN address a ON p.address_id = a.id
WHERE p.id = :id
LIMIT 1
これは、1 つのことを除いて実際に機能します。ユーザーに接続されている最初の言語のみを返します。すべての言語を取得するにはどうすればよいですか?
編集
PHP PDO を使用して結果を取得しています。
$value = $stmt->fetch(PDO::FETCH_ASSOC);
間違いがありますか?