我有一个用于预订的mysql表
Bookingid Customer
1 Steve
2 John
和另一张乘客表
Bookingid Passenger
1 Steve
1 Gary
1 Tom
2 John
2 Chris
2 Thomas
从第一张桌子和第二张桌子上的乘客一起获得预订的最佳查询是什么?
Bookingid Passenger1 Passenger2 Passenger3
1 Steve Gary Tom
2 John Chris Thomas
答案 0 :(得分:0)
如果没有PIVOT TABLE,你就无法做到这一点。在大多数情况下,它有固定数量的列到行。
这个程序有一个自动执行的程序http://www.artfulsoftware.com/infotree/qrytip.php?id=523
但是你在MySql上有一个函数,它将为你提供一些工具。你不会看到Passenger1..PassengerN
你会看到这样的结果:
1 Steve, Gary, Tom
2 John, Chris, Thomas
如果这对你来说足够好,这就是你的问题:
select passengers.Bookingid, group_concat(bookings.Customer)
from bookings inner join passengers on ( bookings.Bookingid = passengers.Bookingid )
group by passengers.Bookingid