我不断收到语法错误
*关键字“SELECT”附近的语法不正确。
')' 附近的语法不正确。*
当使用 where exists 子句时,我是否使用了正确的 where exists 格式。
SELECT
tblLoadMaster.Salesperson, tblLoadMaster.LoadID, LoadRate,
PayBetween1, Paybetween2,
tblLoadMaster.BillingID, OriginationCity, OriginationState,
DestinationCity, DestinationState
FROM tblLoadMaster
WHERE EXISTS (SELECT tblCarrier.CompanyName, tblCarrier.CarrierID
FROM tblCarrier
WHERE tblLoadMaster.CarrierID = tblCarrier.CarrierID)
AND EXISTS (SELECT tblCustomer.CompanyName, tblCustomer.Customerflag, tblCustomer.CustomerID, tblCustomer.AddressLine1, tblCustomer.City, tblCustomer.State, tblCustomer.Zipcode, tblCustomer.CompanyPhoneNumber, tblCustomer.CompanyFaxNumber, tblCustomer.SCAC
FROM tblCustomer
WHERE tblCustomer.CustomerID = tblLoadMaster.CustomerID )
AND EXISTS(SELECT StopLocationID FROM tblLoadStop
WHERE tblLoadMaster.LoadID = tblLoadStop.LoadID)
AND EXIST(SELECT StopLocationCompanyName
FROM tblStoplocation
WHERE tblStopLocation.StoplocationID = tblLoadStop.StoplocationID
AND tblLoadMaster.Phase LIKE '%4%')
ORDER BY
tblCarrier.CarrierID DESC;
更新
我改用INNER JOIN
了语句,但仍然得到重复的行。该tblLoadStop
表是我通过and获取stoplocation
信息的查找表。该表包含两次stoplocation ID
load ID
tblLoadstop
LOADID
LoadStopID(pk) LoadID StopLocationID
476 13521 67
477 13521 106
然后中继器在表中显示该行两次,只有LoadID
相同的行。
这是我的INNER JOIN
声明;
SELECT
tblCarrier.CarrierID, tblLoadMaster.Salesperson, tblCustomer.CompanyName,
tblCarrier.CompanyName, tblCustomer.Customerflag, tblCustomer.CustomerID,
tblCustomer.AddressLine1, tblCustomer.City, tblCustomer.State,
tblCustomer.Zipcode, tblCustomer.CompanyPhoneNumber,
tblCustomer.CompanyFaxNumber, tblCustomer.SCAC, StopLocationCompanyName,
tblLoadMaster.LoadID,LoadRate,PayBetween1, Paybetween2 , tblLoadMaster.BillingID,
OriginationCity, OriginationState, DestinationCity, DestinationState
FROM
tblLoadMaster
INNER JOIN
tblCarrier On tblLoadMaster.CarrierID = tblCarrier.CarrierID
INNER JOIN
tblCustomer ON tblCustomer.CustomerID = tblLoadMaster.CustomerID
INNER JOIN
tblLoadStop ON tblLoadMaster.LoadID = tblLoadStop.LoadID
INNER JOIN
tblLkupCarrierLoad ON tblLkupCarrierLoad.CarrierID = tblCarrier.CarrierID
INNER JOIN
tblStoplocation ON tblStopLocation.StoplocationID = tblLoadStop.StoplocationID
WHERE
tblLoadMaster.Phase LIKE '%4%'
ORDER BY
tblCarrier.CarrierID DESC;