gpt4 book ai didi

php - 左连接不显示产品

转载 作者:行者123 更新时间:2023-11-29 19:17:27 25 4
gpt4 key购买 nike

我有一个查询,由于某种原因左连接不起作用,我不知道为什么。我需要左连接,因为也许有些产品没有图像。但是当我使用左连接时,不会显示任何产品,它仅适用于内部连接。这是我的查询:

$stmt=$dbh->prepare("SELECT 
p.name,
p.id_product,
p.price,
pig.image

FROM
tbl_products p
INNER JOIN tbl_products_to_categories ptoc
ON ptoc.id_product = p.id_product
INNER JOIN tbl_catalog_categories c1
ON ptoc.id_category = c1.id_category
LEFT JOIN tbl_catalog_categories c2
ON c1.id_parent = c2.id_category
LEFT JOIN tbl_catalog_categories c3
ON c2.id_parent = c3.id_category
INNER JOIN tbl_products_images_gallery pig
ON pig.id_product = p.id_product
WHERE (c1.name = :id OR c2.name = :id OR c3.name = :id )
AND p.active = 1
AND p.quantity = 1
ORDER BY p.id_product
LIMIT $start, $row_limit");
$stmt->bindParam(":id",$id);
$stmt->execute();

所以我想将 INNER JOIN tbl_products_images_gallery pig 替换为 LEFT JOIN tbl_products_images_gallery pig

最佳答案

显然,内部联接不会产生与左联接相同的查询结果 - 但我敢打赌克里斯已经知道这一点了。

让我指出另一个不太明显的原因,即您的左关节可能无法按预期工作。A.检查您的数据库/表字段(列)是否有特定限制。例如不可为空的字段。B.如果字段上存在这样的约束(用于连接 2 个表),则执行预计会生成空记录的左连接将不会返回空记录。这是因为这是在数据库/模式的约束条件中设置的。C.如果您运行一个简单的“Schema.Table”命令,应该会向您显示字段约束。

希望这有帮助

关于php - 左连接不显示产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42622557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com