gpt4 book ai didi

mysql - 无法使 SQL JOIN 正常工作

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

我正在尝试JOIN 两个表,但它无法正常工作。我在所有表中都有 loc_id,它们的值都为 1。我的数据库是 INNODB。 loc_id 是名为 b_locations 的第三个表的唯一 ID。我也曾尝试在 JOIN 中包含此表,但我并不真正需要它,这也给了我相同的结果。我希望能够 JOIN 3 个或更多表以供将来验证,但显然我需要先让 2 个表工作。

我加入查询中未包含的表的唯一 ID 的方法是否是一种糟糕的方法?

这是我的 SQL:

SELECT d.view_id,
d.gps_lat survey_lat,
d.gps_lng survey_lng,
d.thumbnail,
c.sign_type,
c.gps_lat object_lat,
c.gps_lng object_lng
FROM `d_view_angles` AS d
JOIN c_survey_elements AS c
ON d.loc_id = c.loc_id
WHERE c.loc_id = '1'

这是我得到的结果(请参阅所需结果下方的粗体文本):

1   37.367156   -77.39987   ... FREESTANDING SIGN   37.367229   -77.399835
2 37.367305 -77.399801 ... FREESTANDING SIGN 37.367229 -77.399835
3 37.36739 -77.400022 ... FREESTANDING SIGN 37.367229 -77.399835
4 37.367619 -77.399897 ... FREESTANDING SIGN 37.367229 -77.399835
1 37.367156 -77.39987 ... DOWN LIGHTING 37.367408 -77.400077
2 37.367305 -77.399801 ... DOWN LIGHTING 37.367408 -77.400077
3 37.36739 -77.400022 ... DOWN LIGHTING 37.367408 -77.400077
4 37.367619 -77.399897 ... DOWN LIGHTING 37.367408 -77.400077
1 37.367156 -77.39987 ... DOWN LIGHTING 37.367635 -77.399944
2 37.367305 -77.399801 ... DOWN LIGHTING 37.367635 -77.399944
3 37.36739 -77.400022 ... DOWN LIGHTING 37.367635 -77.399944
4 37.367619 -77.399897 ... DOWN LIGHTING 37.367635 -77.399944

我已经尝试过 GROUP BY survey_lat, survey_lng 但它获得了前 4 个结果,这给了我以下结果(注意重复的 c.sign_typec. gps_latc.gps_lng):

1   37.367156   -77.39987   ... FREESTANDING SIGN   37.367229   -77.399835
2 37.367305 -77.399801 ... FREESTANDING SIGN 37.367229 -77.399835
3 37.36739 -77.400022 ... FREESTANDING SIGN 37.367229 -77.399835
4 37.367619 -77.399897 ... FREESTANDING SIGN 37.367229 -77.399835

这些是我应该得到的结果:

1   37.367156   -77.39987   ... FREESTANDING SIGN   37.367229   -77.399835
2 37.367305 -77.399801 ... FREESTANDING SIGN 37.367229 -77.399835
3 37.36739 -77.400022 ... DOWN LIGHTING 37.367408 -77.400077
4 37.367619 -77.399897 ... DOWN LIGHTING 37.367635 -77.399944

我敢肯定这很简单,但我还没有找到问题所在。我的猜测是我的 JOIN,但我已经阅读了大量教程,遍及 W3School,尝试了不同的 JOIN(INNER JOINRIGHT JOINRIGHT OUTER JOIN 等)并观看了 Youtube 教程。如果它不在我的 SQL 语句中,那么欢迎提供有关表格格式的建议,如果需要任何其他信息,请告诉我。


我无法控制 MYSQL 版本,这是在远程服务器上运行的,由 SurpassHosting 托管(我不推荐它们)。

MYSQL 服务器版本:5.0.95-community
协议(protocol)版本:10
通过 PHPMyAdmin 版本信息运行 SQL 查询:3.4.10.1 和 MSQL WorkBench 5.2.37 CE

最佳答案

很明显,对于 1 的相同 loc_id,左表 (d_view_angles) 中有 4 条记录,左表中有 3 条记录右表 (c_survey_elements)。

这可能意味着您需要使用的不仅仅是 loc_id 才能加入。

显示每个表的相关内容将使其一目了然。

关于mysql - 无法使 SQL JOIN 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12784484/

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