gpt4 book ai didi

mysql - 如何从 LEFT JOIN mysql 表调用结果

转载 作者:行者123 更新时间:2023-11-29 06:05:34 25 4
gpt4 key购买 nike

我有这个问题:

$query = '
SELECT * FROM "rdm_item"
LEFT JOIN "rdm_tag" ON "rdm_item"."aff_id" = "rdm_tag"."aff_type_id"
WHERE "rdm_item"."aff_publish" = 4
ORDER BY "rdm_item"."aff_id"
DESC LIMIT 0,12';

和表格:

rdm_item 列:aff_id/aff_publish/...

rdm_tag 列:aff_id/type_id/...

我可以得到结果。

但对于 $result[0]['aff_id'] 我期望 rdm_item.aff_id 但它返回 rdm_tag.aff_id

我的问题是什么?

最佳答案

您需要从选择中指定您想要的列,并在它们前面加上表名。例如:

$query = '
SELECT rdm_item.aff_id FROM "rdm_item"
LEFT JOIN "rdm_tag" ON "rdm_item"."aff_id" = "rdm_tag"."aff_type_id"
WHERE "rdm_item"."aff_publish" = 4
ORDER BY "rdm_item"."aff_id"
DESC LIMIT 0,12';

如果您在两个表中有重复的列名(即 aff_id),请使用标识符,例如

$query = '
SELECT rdm_item.aff_id as rdm_item_aff_id, rdm_tag.aff_id as rdm_tag_aff_id FROM "rdm_item"
LEFT JOIN "rdm_tag" ON "rdm_item"."aff_id" = "rdm_tag"."aff_type_id"
WHERE "rdm_item"."aff_publish" = 4
ORDER BY "rdm_item"."aff_id"
DESC LIMIT 0,12';

然后您可以使用类似 result[0]['rdm_item_aff_id'] 的内容来引用正确的列。

关于mysql - 如何从 LEFT JOIN mysql 表调用结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41871566/

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