2011-01-12 65 views
0

我有两个表我怎么可以做以下查询来获取所需的信息

  • CompList表下面的列:CompIdMcIDstationslotsubslot,和其他几个人

  • BookingTable列:CompId,LineID,McID,station,slot,subslot

我希望得到以下结果:只有

行时,CompList.CompId == BookingTable.CompId(仅CompId是两个表中)

我在结果列需要从CompListCompIdMcIDstationslotsubslot和从BookingTableLineIDMcIDstationslotsubslot

我将如何区分结果表中的结果表中的同一列表中的同一列?

感谢您的帮助。

+0

你可以在http://dba.stackexchange.com/上询问 – 2011-01-12 07:50:03

回答

2

使用别名:

SELECT 
    CL.CompId, 
    CL.McID, 
    CL.station, 
    CL.slot, 
    CL.subslot, 
    BT.LineID, 
    BT.McID  as BookingMcId, 
    BT.station as BookingStation, 
    BT.slot  as BookingSlot, 
    BT.subslot as BookingSubslot 
FROM CompList as CL 
JOIN BookingTable as BT ON BT.CompId = CL.CompId 
0
select c.CompId,c.D,c.station,c.slot,c.subslot,b.neID,b.McID,b.station,b.slot,b.subslot from CompList c join BookingTable b on c.ComId=b.CompId 
0
SELECT 
    cl.CompId , cl.McID , cl.station, cl.slot, cl.subslot, 
    bt.LineID, bt.McID, bt.station, bt.slot, bt.subslot 
FROM 
    CompList cl 
INNER JOIN 
    BookingTable bt ON cl.McID=bt.McID 
0

根据你的问题,区分CompList和BookingTable使用别名的列要在结果得到的列。例如:假设有两个表t1 & t2,它们在cols中都有相同的名称,如cid,name,roll和address。

让我们写t1.cid == t2.cid(即两个表中唯一的CID)

:选择t1.cid, t1.name为NAME1, t1.roll为ROLL1, t1.address as address1, t2.name as name2, t2.roll as roll2, t2。从t1开始的地址为 ,t2 其中t1.cid = t2.cid;

相关问题