0

2つのテーブルからデータをフェッチするselectコマンドがクエリにあり、結果の各行が2回結果になります。クエリは次のようになります。

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
4

4 に答える 4

3

Driver テーブルと Contractor テーブルの間に関係がある場合は、where 条件が必要です。

何かのようなもの

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 が Contractor の ID にリンクされていると仮定します。

于 2012-09-07T15:42:13.633 に答える
0

2 つのテーブルからレコードを結合する方法を dbms に伝える必要があります。

例えば

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;
于 2012-09-07T15:45:05.430 に答える
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;

(データを取得するには、このような条件に言及してください)

于 2012-09-07T15:46:02.197 に答える
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

または、CROSS 結果が必要ない場合は、2 つのテーブル間に参照がある場合は、LEFT または INNER JOIN を作成してみてください。

于 2012-09-07T15:43:32.193 に答える