1

SQL Server には次の DB テーブルがあります

Booking(bookingID,customerName,branchID,RefNumber,...)

Trip(TripID,vehicleID,...)

BookingToTripMap(TripID,bookingID)

Branch(branchID, branchName)

Vehicle(vehicleID,vehicleNumber)

(Booking,Branch) と (Trip, Vehicle) の間には 1 対 1 の関係があり、テーブル BookingToTripMap に保存されている Booking, Trip の間には多対多の関係があります。

今、次を返すクエリを抽出したいと思います

Booking.RefNumber   Booking.CustomerName    Vehicle.VehicleNumber

(1 つのセル内のすべての車両番号)

4

1 に答える 1

0

ここにあなたの質問があります

SELECT B.RefNumber, B.CustomerName, V.VehicleNumber
FROM ((Booking AS B INNER JOIN BookingToTripMap AS BT
     ON B.bookingID = BT.bookingID) INNER JOIN TRIP as T
     ON T.TripID = BT.TripID) INNER JOIN Vehicle as V
     ON V.vehicleID = T.vehicleID

フィールド bookingID をテーブル Trip に追加しますが、テーブル BookingToTripMap はデータベースに値を追加しないようです。

また、車両の番号が一意である場合は、Vehicle テーブルの主キーを vehicleNumber に変更し、Trip テーブルの同じ列を変更できます。したがって、Trip テーブルから直接 vehicleNumber を取得できます。

与えられた情報に基づいて、私はそれを推測しています。

よろしく、

于 2013-07-07T20:32:49.463 に答える