PHP PDO - dblib MSSQL - SQL连接问题


PHP PDO - dblib MSSQL - SQL join issue

我已经在这个问题上挣扎了几天了,现在我似乎不能想出一个解决方案,也不能看到我哪里出错了。

我试图在sql中写一个查询,有一对连接,因为我需要显示在几个不同的表中找到的信息。

我的问题在于连接,每当我做即使是最简单的连接我的查询返回什么。下面是我尝试过的两个例子。希望我只是在语法中遗漏了一些东西。

dbo.VehicleJobHistory:
VehicleID           Number
BookingID           Text
DriverID            Number
PickupSuburb        Text
DestinationSuburb   Text
ReasonDispatched    Text
TimeJobRequired     Date/Time
TimeCarAccepted     Date/Time
TimeCarPickup       Date/Time
TimeCarComplete     Date/Time
KmToPickup          Number
KmOfJob             Number
_timestamp          DateTime

样本日期来自dbo。VehicleJobHistory:

$STH = $DBH->query('SELECT * FROM DBH . ')

451/30162090/8387/Springwood/Springwood//Feb 3 201312:58:23:800AM//0/0/451/30163071/8387/Loganholme//Loganholme//Feb 32013 01:23:45:263AM//1200/4250/451/30163856/8387/Shailer公园/Shailer公园//Feb 3 2013 01:45:50:450AM///0/0/451/30163965/8387/Loganholme/Runcorn/2013年2月3日01:48:31 . 200 am//2950/16050/451/30164712/8387/八英里平原/八英里平原//Feb 3 2013 02:09:33:017AM///2450/5750/451/30165778/8387/Springwood/Springwood//2013年2月3日02:44:51:363AM////800/2100451/30166370/8387/Loganholme/Loganholme//2013年2月3日03:06:28:103AM//0/0/451/30166916/8387/Shailer Park///Feb 3 201303:28:46:553AM///0/13950/451/30169626/11979/Logan Central///2月3日2013 07:18:05:633AM//0/0/451/30169632/11979/洛根中央/洛根中央//Feb 3 2013 07:18:33:120AM///0/0/451/30169783/11979/Woodridge/Springwood//2013年2月3日07:38:32:37 am//1250/6400/451/30170203/11979/Logan Central///Feb 32013 08:31:52:960AM///0/1050/

dbo.Vehicle:
VehicleID          Number 
CarNumber          Text 
PrimaryFleetID     Number 
Conditions         Text 
RegoNum            Text 
RegoExpiry         Date/Time 
TaxiLicNum         Number 
TaxiLicExpiry      Date/Time
VehicleMake        Text 
VehicleModel       Text 
VehicleYear        Text 
OwnerID            Number 
OperatorID         Number

来自dbo.vehicle的样本数据

$STH = $DBH->query('SELECT * FROM dbo.Vehicle WHERE  VehicleID = "451"');
echo $row->VehicleID  . "/"; 
echo $row->CarNumber  . "/"; 
echo $row->PrimaryFleetID . "/"; 
echo $row->Conditions . "/"; 
echo $row->OwnerID . "/"; 
echo $row->OperatorID . "/";

451/4/5/120395399168/1/3/

当我尝试运行任何查询,包括一个连接,我得到没有结果…

this return nothing:

$STH = $DBH->查询("SELECT dbo.VehicleJobHistory.BookingID, "dbo. vehiclejobhistory . driverid车辆内连接dbo。VehicleJobHistory ON dbo.Vehicle.VehicleID =dbo.VehicleJobHistory.VehicleID WHERE timejobrerequired> '09/03/2013' AND

这将从VehicleJobHistory表中返回一个包含bookingID和DriverID的数组:

$STH = $DBH->query("SELECT BookingID, DriverID FROM DBH . ")VehicleJobHistory WHERE timejobrerequired> "02/03/2013" AND

我几乎尝试了所有其他的组合,我可以拿出,但只要我添加一个连接到我的查询,我似乎没有得到任何工作。

如果有人有这个问题的经验,或者能给我指出正确的方向,我将不胜感激。

提前感谢!

SQL必须是左连接

SELECT dbo.VehicleJobHistory.BookingID
    , dbo.VehicleJobHistory.DriverID
FROM dbo.Vehicle
LEFT JOIN dbo.VehicleJobHistory
    ON dbo.Vehicle.VehicleID = dbo.VehicleJobHistory.VehicleID
        AND dbo.VehicleJobHistory.TimeJobRequired > '09/03/2013'
WHERE dbo.Vehicle.VehicleID = $VEHICLEID