0

統合しようとしたSQLステートメントが複数あります。

1 -

SELECT b.name, b.address, b.city, b.state, b.zip
FROM b
WHERE b.my_ID =  '8'

2 -

SELECT DISTINCT room.room_ID, room.number, room.maxStudents
    FROM room
    WHERE room.building_ID = 
    (SELECT building_ID
    FROM building
    WHERE my_ID =  '8')

次のような選択フィールドに埋め込まれた最初のステートメントが必要です。

SELECT DISTINCT room.room_ID, room.number, room.maxStudents,
(SELECT b.name, b.address, b.city, b.state, b.zip
FROM b
WHERE b.my_ID =  '8')
FROM room
WHERE room.building_ID = 
(SELECT building_ID
FROM building
WHERE my_ID =  '8')

ROOM テーブルは b によって関連付けられています。すべての部屋には、次のようなフィールド room.b_ID があります。

room.b_ID = b.b_ID

私はそれをいくつかの場所で統合ステートメントに追加しようとしましたが、成功しませんでした.

すべての部屋と room.fields ALONG WITH 相関フィールド、または親のフィールド b.fields (b.name, b.address, b.city, b.state, b.zip) のリストを作成したい)。bは建物です。したがって、すべての部屋には、それが存在する建物があります。すべての部屋とそれに関連する建物のリストが必要です。建物ごとに複数の部屋があるため、結果に重複データがあることは理解しています。理想的には、 BUILDING レコードが必要で、次の行の THAT 建物内の部屋は次のようになります。

Building 1: Address, city,state,zip
<tab/null>room.name, room.maxstudents,...
<tab/null>room.name, room.maxstudents,...
<tab/null>room.name, room.maxstudents,...
Building 2: Address, city,state,zip
<tab/null>room.name, room.maxstudents,...
<tab/null>room.name, room.maxstudents,...

どんな助けや指示も大歓迎です!

4

1 に答える 1

0

IFAIK、各クエリは固定数の列として!

私の提案: アプリケーションで解析出力を追跡するようなクエリを使用します。

Building 1, Address, city, state, zip, room.name1, room.maxstudents,...
Building 1, Address, city, state, zip, room.name2, room.maxstudents,...
Building 1, Address, city, state, zip, room.name3, room.maxstudents,...
Building 2, Address, city, state, zip, room.name1, room.maxstudents,...

このクエリでは、次を使用します。

SELECT
    b.name, b.address, b.city, b.state, b.zip,
    room.room_ID, room.number, room.maxStudents
FROM b
LEFT JOIN room
ON room.building_ID = building.my_ID
ORDER BY building.name, room.room_ID;
于 2013-11-06T14:15:12.693 に答える