小编Ste*_*yne的帖子

MySQL - Perl:如何在选择查询中使用IN数组?(在哪里(@array))

这是我在这里解决的问题的补充: 如何在perl的x英里内获得邮政编码数组

好的,我有阵列@zips.现在我试图在这样的查询中使用它:

SELECT `club_name`,`city` FROM `table` WHERE `public_gig` = 'y' AND `zip` IN (@zips)
#I also tried syntax "IN ("@zips"), IN @zips and IN ('@zips')"
Run Code Online (Sandbox Code Playgroud)

但是,我无法让它发挥作用.(我正在使用占位符,例如您在上面的链接中看到的.)

我能够让这个工作:

$fzip=shift(@Zips);
$lzip=pop(@Zips);
SELECT `club_name`,`city` FROM `table` WHERE `public_gig` = 'y' AND `zip` BETWEEN $fzip AND $lzip

    ZIP | public_gig | start_time | fin_time | city       | club_name | and so on
  33416 | y          | 9pm        | 2am      | clearwater | beach bar | yada
Run Code Online (Sandbox Code Playgroud)

但是,由于显而易见的原因和一些准确性的相似性,这并不是我想要的.只是想看看我是否可以让自己有所作为.

为什么我不能使用IN获取查询以使用数组中的拉链?没有返回任何内容,也没有错误.

在这个查询中实际上有很多,但是,我把它全部留在这里以保持简短.

我试图自己解决这个问题.显然,我当天的学习能力接近顶峰.

谢谢你的帮助.

mysql arrays perl

4
推荐指数
3
解决办法
6732
查看次数

MySQL - Perl:如何在Perl示例中提交的"x"里面提交的"zipcode"中获取邮政编码数组

我在这里发现了很多计算和一些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
Run Code Online (Sandbox Code Playgroud)

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

它看起来像我需要的查询.

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

我也不需要state在查询中.

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

    ZIP | LAT     | LONG
  33416 | 26.6654 | -80.0929
Run Code Online (Sandbox Code Playgroud)

我写这个是为了尝试返回某种结果(不是基于上面的查询)但是,它只会踢出一个邮政编码.

## Just for a …
Run Code Online (Sandbox Code Playgroud)

mysql perl zipcode latitude-longitude

0
推荐指数
1
解决办法
779
查看次数

标签 统计

mysql ×2

perl ×2

arrays ×1

latitude-longitude ×1

zipcode ×1