SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1
は、FIRST_NAMEを言います。 どうすればいいですか?1つの列にどのように参加するのですか?私は表2から1つの列のみに参加する必要があり
SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1
は、FIRST_NAMEを言います。 どうすればいいですか?1つの列にどのように参加するのですか?私は表2から1つの列のみに参加する必要があり
あなたは「表2から1列を選択」を意味すると仮定すると:
SELECT table1.*, table2.first_name
FROM table1
LEFT JOIN table2
...
あなたはすでに述べたクエリに加えて、意味するか:
SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1 and table1.first_name = table2.first_name
、私が望んでいる「すべて」 –
受け入れ答えが正解でありますTABLE1があると仮定すると
:テーブルが2つの異なるデータベースにある場合、私は奇妙なエラーが発生しましたdatabase1にあり、table2はdatabase2にあります。 は当初、私はこれを試してみました:
SELECT *, database2.table2.first_name FROM table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE table1.id = 1
奇妙なことは、私はPHP PDOからこのクエリをしようとするとそこにはエラーがなかったが、結果はdatabase2.table2(予想のみFIRST_NAME列)からすべての列が含まれていることです。
しかし、私はphpMyAdminのから同じクエリがsintaxエラーを得た試みている場合:
テーブル「database2.table1は」だから、
を存在する、のためにそれを解決するため、すべてのデータベースは必要ありません。このように明示的に指定される:
SELECT database1.table1.*, database2.table2.first_name FROM database1.table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE database1.table1.id = 1
正確に。そして、今まで誰も言及していない、明示的な方が良いです。それだけではなく、いいえ、これは私が何を意味するのかではありません、これは感謝ロットNullUserException :) – glglgl
グレートを、というのは、TABLE1にはFIRST_NAMEがない、希望の列を一覧表示した方が良いですが、私はちょうど必要table2のfirst_name。あなたの答えをありがとう:) –