我已经在这个问题上苦苦挣扎了几天,我似乎无法提出解决方案,我也看不出我哪里出错了。
我试图在 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 dbo.VehicleJobHistory WHERE TimeJobRequired > "02/03/2013" AND VehicleID = "451"');
451/30162090/8387/Springwood/Springwood//2013 年 2 月 3 日 12:58:23:800AM///0/0/ 451/30163071/8387/Loganholme/Loganholme//2013 年 2 月 3 日 01:23:45:263AM/ //1200/4250/ 451/30163856/8387/Shailer Park/Shailer Park//2013 年 2 月 3 日 01:45:50:450AM///0/0/ 451/30163965/8387/Loganholme/Runcorn//2013 年 2 月 3 日01:48:31:200AM///2950/16050/451/30164712/8387/八英里平原/八英里平原//2013 年 2 月 3 日上午 02:09:33:017///2450/5750/451/30165778/ 8387/Springwood/Springwood//2013 年 2 月 3 日 02:44:51:363AM///800/2100/ 451/30166370/8387/Loganholme/Loganholme//2013 年 2 月 3 日 03:06:28:103AM///0/ 0/ 451/30166916/8387/Shailer Park///2013 年 2 月 3 日 03:28:46:553AM///0/13950/451/30169626/11979/Logan Central///2013 年 2 月 3 日 07:18:05: 633AM///0/0/ 451/30169632/11979/洛根中央/洛根中央//2013 年 2 月 3 日 07:18:33:120AM///0/0/ 451/30169783/11979/伍德里奇/斯普林伍德//2013 年 2 月 3 日 07:38:32:377AM///1250/6400/ 451/30170203/11979/Logan Central///2013 年 2 月 3 日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/
当我尝试运行任何包含连接的查询时,我没有得到任何结果......
这什么都不返回:
$STH = $DBH->query("SELECT dbo.VehicleJobHistory.BookingID, dbo.VehicleJobHistory.DriverID FROM dbo.Vehicle INNER JOIN dbo.VehicleJobHistory ON dbo.Vehicle.VehicleID = dbo.VehicleJobHistory.VehicleID WHERE TimeJobRequired > '09/03 /2013' AND VehicleID = $VehicleID");
这会从 VehicleJobHistory 表中返回一个 bookingID 和 DriverID 的数组:
$STH = $DBH->query("SELECT BookingID, DriverID FROM dbo.VehicleJobHistory WHERE TimeJobRequired > "02/03/2013" AND VehicleID = $VehicleID");
我已经尝试了几乎所有其他我能想到的组合,但是一旦我在我的查询中添加一个连接,我似乎没有任何工作。
如果有人对此问题有经验或可以指出正确的方向,我将不胜感激。
提前致谢!