gpt4 book ai didi

MySQL Left join(我认为)帮助

转载 作者:行者123 更新时间:2023-11-29 00:53:22 25 4
gpt4 key购买 nike

鉴于所述表是关系表,我无法弄清楚如何返回表中的正确行。这两个表如下所示。

web_quote_models 表

id | model       | product_id | cpu_id | ram_id | hdd_id | os_id | opt_id 
=========================================================================
1 | 000001 | 1 | 1 | 1 | 1 | 1 | 1
2 | 000002 | 1 | 2 | 2 | 2 | 2 | 2
3 | 000003 | 1 | 3 | 3 | 3 | 3 | 3
4 | Custom | 0 | 0 | 3 | 4 | 4 | 4

web_quote_component_cpu 表

id | name
=========================================================================
1 | Intel® Core™ i3 2100 3.1GHz dual-core
2 | Intel® Core™ i5 2500 2.7GHz quad-core
3 | Intel® Core%trade; i7 2600 3.4GHz 8mb Cache dual-core

所以我需要实现的是一个查询,该查询将查看 web_quote_models 表并将模型字段与 $_SESSION['model'] 匹配,然后将 web_quote_models.cpu_id 字段与 web_quote_component.id 匹配。

这是我目前所拥有的;我认为我离得太远了。

("
SELECT web_quote_component_cpu.name
FROM web_quote_component_cpu
LEFT JOIN web_quote_models
ON web_quote_component_cpu.id='web_quote_models.cpu_id'
AND web_quote_models.name='".$_SESSION['model']."'
");

非常感谢任何提供帮助的人。

丹.

最佳答案

我认为您一点也不遥远。我相信您需要做的就是停止引用 web_quote_models.cpu_id:

 SELECT web_quote_component_cpu.name
FROM web_quote_component_cpu
LEFT JOIN web_quote_models
-- note lack of quotes in the following line:
ON web_quote_component_cpu.id=web_quote_models.cpu_id
AND web_quote_models.name='".$_SESSION['model']."'

编辑

根据评论,我会亲自重写查询:

 SELECT web_quote_component_cpu.name
FROM web_quote_component_cpu WHERE ID IN
( SELECT ID FROM WEB_QUOTE_MODELS WHERE
web_quote_models.name='".$_SESSION['model']."' );

尽管我怀疑用 WHERE 交换最后一个 AND 就足够了:

 SELECT web_quote_component_cpu.name
FROM web_quote_component_cpu
LEFT JOIN web_quote_models
-- note lack of quotes in the following line:
ON web_quote_component_cpu.id=web_quote_models.cpu_id
WHERE web_quote_models.name='".$_SESSION['model']."'

关于MySQL Left join(我认为)帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282131/

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