gpt4 book ai didi

MySQL-Perl : How to get array of zip codes within submitted "x" miles of submitted "zipcode" in Perl example

转载 作者:行者123 更新时间:2023-12-01 00:07:18 24 4
gpt4 key购买 nike

我在这里找到了很多计算和一些 php 示例,大多数都在我的脑海中。

我找到了这个例子:

SELECT b.zip_code, b.state,
(3956 * (2 * ASIN(SQRT(
POWER(SIN(((a.lat-b.lat)*0.017453293)/2),2) +
COS(a.lat*0.017453293) *
COS(b.lat*0.017453293) *
POWER(SIN(((a.lng-b.lng)*0.017453293)/2),2))))) AS distance
FROM zips a, zips b
WHERE
a.zip_code = '90210' ## I would use the users submitted value
GROUP BY distance
having distance <= 5; ## I would use the users submitted value

但是,我无法理解如何使用我的数据库实现查询。

看起来该查询已满足我的所有需求。

但是,我什至无法找到/理解 b.zip_code 到底是什么! (什么是 b.zips a, zips b?)

我也不需要查询中的state

我的 mySQL 数据库结构是这样的:

    ZIP | LAT     | LONG
33416 | 26.6654 | -80.0929

我写这篇文章是为了返回某种结果(不是基于上述查询)但是,它只踢出了一个邮政编码。

## Just for a test BUT, in reality I desire to SELECT a zip code WHERE ZIP = the users submitted zip code
## not by a submitted lat lon. I left off the $connect var, assume it's there.
my $set1 = (26.6654 - 0.20);
my $set2 = (26.6654 + 0.20);
my $set3 = (-80.0929 - 0.143);
my $set4 = (-80.0929 + 0.143);
my $test123 = $connect->prepare(qq{SELECT `ZIP` FROM `POSTAL`
WHERE `LAT` >= ? AND `LAT` <= ?
AND `LONG` >= ? AND `LONG` <= ?}) or die "$DBI::errstr";
$test123->execute("$set1","$set2","$set3","$set4") or die "$DBI::errstr";
my $cntr;
while(@zip = $test123->fetchrow_array()) {
print qq~$zip[$cntr]~;
push(@zips,$zip[$cntr]);
$cntr++;
}

如您所见,我是新手,所以我需要一些详细的解释。

那么,在 Perl 中,我如何将邮政编码从用户提交的邮政编码和用户提交的距离(以英里为单位)推送到数组中。可以是正方形而不是圆形,不是真正那么关键的特征。越快越好。

最佳答案

我将解决问题中很小但很重要的部分:

However, I cannot even find/understand what b.zip_code actually is! (whats the "b." and "zips a, zips b"?)

基本上,查询连接两个表。但是,两个被连接的表实际上是同一个表——“zips”(换句话说,它将“zips”表连接到它自己)。当然,因为查询的其余部分需要理解当你指的是“zips”表的第一个副本以及“zips”表的第二个副本,您为每个副本提供了一个表别名 - 即“a”和“b”。

因此,“b.xxx”的意思是“来自表 zips 的列 xxx,来自正在连接的该表的第二个实例”。

关于MySQL-Perl : How to get array of zip codes within submitted "x" miles of submitted "zipcode" in Perl example,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144331/

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