我有以下带有SQL Server的数据库表
Booking(bookingID,customerName,branchID,RefNumber,...)
Trip(TripID,vehicleID,...)
BookingToTripMap(TripID,bookingID)
Branch(branchID, branchName)
Vehicle(vehicleID,vehicleNumber)
(预订,分行)和(旅程,车辆)之间存在一对一的关系,预订,旅行之间的多对多关系保存在表BookingToTripMap中。
现在我想提取一个返回以下内容的查询
Booking.RefNumber Booking.CustomerName Vehicle.VehicleNumber
(一个单元格中的所有车辆编号)
答案 0 :(得分: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。
我只是根据给定的信息猜测。
此致