私はいくつかの異なるテーブルを持っています.1つはhotel
であり、チェーンチェーンに関する情報が含まれており、もう1つはroom
です。情報がある列にnullを返すクエリ
私はホテル名のリストと部屋番号を特定の方法で注文したデータベースを照会しようとしています。それらを注文するのは簡単ですが、私はこの作業をするためにいくつかのコードをハックしようとするのに苦労しました。
私は何を持っていることは次のとおりです。
SELECT
hotelName,
roomNo
FROM
hotel
RIGHT JOIN
room
ON
hotel.hotelName = room.roomNo
これは動作しますが、それは、テーブルを結合して、すべての部屋番号を提示したが、すべてのホテル名がヌルとして返されます。私は数日間、これを研究していますが、私はそれをどのように機能させるかを考え出すことができません。テーブルは、とキーを介して接続されていませんが、私はそれが問題ではないと伝えることができる限り、それは通常のLEFT JOINとは関係ありませんでした。この1男上の任意の助けを
乾杯:)
これはphpMyAdminの上のデザイナーと私は、現在のコードを取得していた結果で提示するデータベースです。私が必要とする唯一の違いは、ホテル名がデータベースに格納されている実際のホテル名を示していることです。
あなたはホテルに属していない部屋がありますか? –
なぜあなたは右に参加しますか?なぜここにそれが必要なのか分かりません。 (そして、ほとんどの人は左結合を好んでいるので、「メインテーブルはオプションのデータを結合したままにしておきます」と理解しやすくなります) – jarlh
部屋をホテルに関連付ける 'room'テーブルの外部キーは何ですか?意味的に、 'hotelName'と' roomNo'は関連するべきではありません。 – Jodrell