1

我有以下带有 SQL Server 的数据库表

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

Trip(TripID,vehicleID,...)

BookingToTripMap(TripID,bookingID)

Branch(branchID, branchName)

Vehicle(vehicleID,vehicleNumber)

(Booking,Branch) 和 (Trip, Vehicle) 之间存在一对一的关系,并且 Booking, Trip 之间存在多对多关系,保存在表 BookingToTripMap 中。

现在我想提取一个返回以下内容的查询

Booking.RefNumber   Booking.CustomerName    Vehicle.VehicleNumber

(一个单元格中的所有车辆编号)

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 表中检索车辆编号。

根据给定的信息,我只是在猜测。

问候,

于 2013-07-07T20:32:49.463 回答