2012-09-07 236 views
0

来两次,我有我的查询中,从两个表中提取数据的选择命令,结果的每一行中的结果来两次,我的查询是连接两个表,并导致结果

Select 
    Driver.DriverID, 
    Driver.FName, 
    Driver.LName, 
    Driver.SmartCardNumber, 
    Driver.DriverState, 
    Driver.DriverCity, 
    Driver.DriverAddress, 
    Driver.Mobile, 
    Driver.Telephone, 
    Driver.MelliCardNumber, 
    Driver.CertificatePublisher, 
    Driver.addeddate, 
    Driver.ContractorID, 
    Driver.editeddate, 
    Contractor.name 
From Driver,Contractor 

回答

3

你需要哪里条件是驾驶员和承包商表之间是否存在关系。

Select 
    Driver.DriverID, 
    Driver.FName, 
    Driver.LName, 
    Driver.SmartCardNumber, 
    Driver.DriverState, 
    Driver.DriverCity, 
    Driver.DriverAddress, 
    Driver.Mobile, 
    Driver.Telephone, 
    Driver.MelliCardNumber, 
    Driver.CertificatePublisher, 
    Driver.addeddate, 
    Driver.ContractorID, 
    Driver.editeddate, 
    Contractor.name 
From Driver,Contractor 
    where Driver.ContractorID = Contractor.id 

假设ContractorID是与承包商的ID。

+2

可能'Driver.ContractorID'根据他的查询 –

+0

@KDiTraglia是的,你是对的。谢谢我会改变我的答案.. – Jignesh

0

您可以尝试使用DISTINCT。

SELECT DISTINCT Driver.DriverID, 
Driver.FName, 
Driver.LName, 
Driver.SmartCardNumber, 
Driver.DriverState, 
Driver.DriverCity, 
Driver.DriverAddress, 
Driver.Mobile, 
Driver.Telephone, 
Driver.MelliCardNumber, 
Driver.CertificatePublisher, 
Driver.addeddate, 
Driver.ContractorID, 
Driver.editeddate, 
Contractor.name 

From Driver,Contractor 

或者,如果你不需要交叉结果,那么你可以尝试做一个LEFT或INNER JOIN如果你有两个表之间的引用

0

你需要告诉DBMS如何从表2加入记录:

例如

Select 
    Driver.DriverID, 
    Driver.FName, 
    ..., 
    Contractor.name 
    From Driver,Contractor 
    Where Driver.ContractorID = Contractor.ID; 

或者

Select 
    Driver.DriverID, 
    Driver.FName, 
    ..., 
    Contractor.name 
    From Driver inner join Contractor 
    On Driver.ContractorID = Contractor.ID; 
0
Select Driver.DriverID, 
Driver.FName, 
Driver.LName, 
Driver.SmartCardNumber, 
Driver.DriverState, 
Driver.DriverCity, 
Driver.DriverAddress, 
Driver.Mobile, 
Driver.Telephone, 
Driver.MelliCardNumber, 
Driver.CertificatePublisher, 
Driver.addeddate, 
Driver.ContractorID, 
Driver.editeddate, 
Contractor.name 
From Driver,Contractor 
where Driver.DriverId=Contractor.DriverId; 

(提一些这样的条件以便获取数据)

相关问题