gpt4 book ai didi

php - 如何对右表中的特定行进行左连接?

转载 作者:行者123 更新时间:2023-11-29 09:26:32 26 4
gpt4 key购买 nike

我的网站可能有针对用户的单独价目表。当我在所有产品表上左连接导入的产品表时,我不知道在哪里放置 WHERE ,它只会在右表的特定行(记录的用户行)上进行左连接。

我需要在opencart中执行此操作,但这并不重要,这只是SQL

$sql = "SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON 
(p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "import i ON (p.ean = i.ean_code) WHERE
i.import_id = '" . (int)$query->row['import_id'] . "'";

不知何故,我需要首先在导入表上执行 WHERE ,但在上面的示例中,它是在之后执行的。我必须执行 2 个查询吗?

最佳答案

尽可能使用参数。您需要将条件移至 on 子句:

SELECT *
FROM " . DB_PREFIX . "product p LEFT JOIN
" . DB_PREFIX . "product_description pd
ON p.product_id = pd.product_id LEFT JOIN
" . DB_PREFIX . "import i
ON p.ean = i.ean_code AND
i.import_id = ?

您还应该选择显式的列名称。这在LEFT JOIN中尤其重要,因为表共享列名称(至少product_id),并且您不知道应用程序中的“product_id”引用了哪一个代码。

关于php - 如何对右表中的特定行进行左连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59519777/

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