2017-08-09 19 views
0

私は駐車を扱うデータベース上にER図を持っています。 ユーザーテーブル、車載テーブル、支払いテーブル、連絡先情報テーブルがあります。ステートメント/プライマリと外部キーの結合

enter image description here

私は一対一の関係に参加する方法を理解します。しかし、ユーザの所有するすべての車を使ってユーザ名(これはダイアグラムでは不足していて、userinfoテーブルにあることを想像してください)を返すステートメントをどのようにして作ることができますか? user_infoとuser_carの間に多すぎるリレーションシップがあります。しかし、ユーザーが車を持っている必要はありません。オプションです。

だから、クエリの結果は次のように見ている必要があります。

(NULL値)車を所有していない者を含む、システム内のすべてのユーザーが、一覧表を。そしてユーザー名でユーザーを注文することは可能ですか?

このような結果にはどのような種類のクエリが必要ですか?

私は間違った記述をした場合、かなり新しいMySQLに私を修正してください。 ご協力いただきありがとうございます。

おかげあらかじめ

+1

今まで何を試しましたか? –

+0

左結合+注文を使用してください – Shuddh

+0

@ UsagiMiyamoto私はこのようなことを試しました:SELECT username.userinfo、make.user_car、model.user_car、year.user_car、license_plate.user_car FROM user_info INNER JOIN user_car ON user_info.user_id = user_car.license_plate ; –

答えて

0

はこのような何かを試してみてください:

SELECT ui.username, uc.make, uc.model, uc.year, uc.license_plate 
FROM user_info ui 
LEFT JOIN user_car uc ON ui.user_id = uc.user_info_user_id; 

これはthaの車の列にNULLを示し、彼らは車を持っていない場合でも、user_infoからALLUSERが表示されます。これらを省略したい場合は、LEFT JOINからLEFTを削除してください(またはINNER JOINと置き換えてください)。

+0

Aha。どうもありがとうございました。 –

関連する問題