質問
あるとしましょうテーブル:
itemid mark
1 5
2 3
テーブルB
itemid mark
1 3
3 5
また、私*B A.itemid=B.itemidの両方を左右する。すなわち結果:
itemid A.mark B.mark
1 5 3
2 3 NULL
3 NULL 5
があるのではないで一つのクエリにMySQL?
解決
で、フルの外側joinで対応していないネイティブMySQLでは、次 docs.できるのはこの制限をEUに記載のとおりコメントのページでのリンクです。
[編集]からの他に掲載ぐに、ここにとても苦手なのでお願いします。きの説明リンク先のページです。
SELECT *
FROM A LEFT JOIN B ON A.id = B.id
UNION ALL
SELECT *
FROM A RIGHT JOIN B ON A.id = B.id
WHERE A.id IS NULL
他のヒント
い作品がここにはsql
select distinct T.itemid, A.mark as "A.mark", B.mark as "B.mark"
from (select * from A union select * from B) T
left join A on T.itemid = A.itemid
left join B on T.itemid = B.itemid;
この頼りにleft joinを返します全ての行を元のテーブル(この場合はこの限りではあるsubselect表します。条件が満たすものがない場合は、参加テーブルは、その設定のカラムをNULLにします。
この作品ってSQLサーバー:
select isnull(a.id, b.id), a.mark, b.mark
from a
full outer join b on b.id = a.id
所属していません StackOverflow