是否可以在 MYSQL JOIN 语句中使用 AND 子句


Is it possible to use the AND clause in a MYSQL JOIN statement?

我目前正在使用 PDO 进行数据库查询,我发现当我附加查询的"AND IFC.location= :location"部分时查询没有运行,是使用 AND 子句引起的问题,而我已经使用查询来连接两个表?("表格"表和"IFC"表)

$location= '1';
echo "<pre>";
$sql="SELECT name from IFC,tables
      WHERE IFC.tablename=tables.id AND IFC.location=:location
      ORDER BY Numopinions DESC 
      ";
$stmt= $dbh->prepare($sql);
$stmt->bindParam(":location", $location);
if($stmt->execute())
{
    $rows = $stmt-> fetchAll();
    print_r($rows);
}

是的。 您的查询应该有效,但正确的语法将使用显式JOIN

SELECT name 
FROM IFC JOIN
     tables
     ON IFC.tablename = tables.id AND IFC.location = :location
ORDER BY Numopinions DESC;

您认为查询不起作用的原因是什么?

是的,

也可以在连接中使用。如果您认为您的语句不起作用,请尝试在没有 prepare 语句的情况下使用并查看结果。