私は、SQLとその関連について少し混乱しています。 私は2つのテーブルを持っています"ホテル"と"部屋"。私部屋テーブルで基本的なSQL SUMとJOIN
は、私がと「本」「容量」「hotel_id」、というフィールドを持っている と私のホテル表には、私がフィールド「名前」を持っています。
マイ「本」フィールドはブールあるので、それは、「0」だ場合、それが予約されそれは自由であることを意味し、そしてそれは「1」である場合。
私の主な目標は、このように、自由な部屋に基づくホテルの名前と空き容量を表示することです:
名
コスタ・デル・ソル
容量
(2つの列を持つテーブルであることを意味する)
だから私はで始まるためにこれを書いた:
SELECT * FROM room WHERE book = "0";
私にすべて無料の部屋を与えます。
は、その後、私はこれを書いた:私は自分のIDの
を持つすべてのホテルのすべての容量を提供します。そして、私が書いた
SELECT hotel_id, SUM(capacity) FROM room WHERE book = "0" GROUP BY hotel_id;
:私のホテルの名前とを与える
SELECT name, hotel_id FROM hotel INNER JOIN room ON hotel.id = room.hotel_id GROUP BY name;
そのIDの。
との合計との合計をにすることで少し失われています。私はそれを動作させる方法を理解できませんでした。
私はこれを試してみましたが、働いていない:
SELECT name, hotel_id, sum(capacity) AS hotelcapacity FROM hotel
INNER JOIN room ON hotel.id = room.hotel_id GROUP BY hotelcapacity;
誰も私を助けることができれば、それははるかに高く評価されるだろう。ありがとうございました。
互換性のないデータベースタグを削除しました。実際に使用しているデータベースにタグを付けてください。 –
申し訳ありませんが、私はそれがサーバー側にあると思っていましたが、スパムを意味しませんでした。 –