我有一个SQL语句,见下文。我不知道怎么能放进另一张桌子。我尝试了一些东西,但它们都显示为错误。 我需要的是显示两个表中的项目。它们是两个单独的表,唯一的共同点是两者中的日期。
有人可以帮助我吗?
$value = $_GET['id'];
$dbQuery = $conn->prepare("SELECT * FROM Appointment INNER JOIN Results WHERE Date=:value");
$dbParams = array(':value'=>$value);
$dbQuery->execute($dbParams);
答案 0 :(得分:2)
您的代码缺少您的加入的ON运算符。另一个问题是你没有指定在你的where条件中使用哪个 Date
。这在代码中没有多大区别,但下面的代码段可以解决您的联接问题,以及有关联接的更多信息follow this link
$value = $_GET['id'];
$dbQuery = $conn->prepare("SELECT * FROM Appointment INNER JOIN Results ON Appointment.Date = Results.Date WHERE Results.Date=':value'");
$dbParams = array(':value'=>$value);
$dbQuery->execute($dbParams);
答案 1 :(得分:1)
如果查询中的多个表具有一个或多个共同的字段名,则必须使用表的名称(或表中使用的别名,如果有)来限定这些字段名。
此外,您的查询缺少连接条件,因此如果指定了Appointments.Date(单独),您将获得该日期的每个约会与results
表中的每一行配对。
答案 2 :(得分:1)
您需要使用ON来传达两个表
SELECT * FROM Appointment as a
INNER JOIN Results as r
ON a.Date = r.Date
WHERE r.Date=:value