0

座席数が 0 より多いフライト番号を取得しようとしています。MySQL に 3 つのテーブルがあります。

1. Sector
2. Flights
3. Aircraft

1、2、3 の順番でテーブルの構造については画像を参照してください ここに画像の説明を入力

私はこのSQLを書いています

select * from aircraft 
where aircrafttypeID=
       (select aircrafttypeID 
            from sector,flights 
             where source like 'Kolkata' 
             and destination like 'Ahmedabad' 
             and sector.sectorID=flights.sectorID) 
and bseats>0

このクエリはエラーを出しています -

サブクエリが複数の行を返す

サブクエリが複数のフライト番号を返しているためです。座席数が 0 を超えるフライト番号を取得する方法を教えてください。

4

2 に答える 2

3

これを試して

SELECT  *
FROM    aircraft
WHERE   aircrafttypeID IN ( SELECT   aircrafttypeID
                            FROM     sector ,
                                     flights
                            WHERE    source LIKE 'Kolkata'
                                     AND destination LIKE 'Ahmedabad'
                                     AND sector.sectorID = flights.sectorID
                     )
    AND bseats > 0
于 2013-06-14T08:12:00.290 に答える