PHP 到 Codeigniter 语法 - 从 db/form 输入中选择减法

标签 php mysql forms codeigniter

我正在尝试将 php mysql 语句转换为 Codeigniter 语法。该代码从数据库中选择所有内容,但区域差异等于两个表单输入相减。非常感谢任何帮助。

PHP版本

select * from zone_cost where zone_diff =
@(
(select zone from station_zone where station ='FORMINPUT') - (select zone from station_zone where station ='FORMINPUT')
);

Codeigniter尝试版本

$zd = (
$this->db->select('zone');
$this->db->get_where('station_zone','station' => $this->form->input('station'));
) - ($this->db->select('zone');
$this->db->get_where('station_zone','station' => $this->form->input('station2'));
);

$this->db->select('zone_cost');
$this->db->where('zone_diff', $zd);

最佳答案

我认为你应该用mysql做减法:

SELECT
station_zone.zone-sz2.zone as ZoneDiff
FROM station_zone
JOIN station_zone AS sz2 ON (sz2.station="station2")
WHERE station_zone.station="station1"

它尚未经过测试,但我认为您可以使用类似的查询。之后,您可以合并主要查询,这样您只需要一个查询即可“回答”完整的数据问题。

关于PHP 到 Codeigniter 语法 - 从 db/form 输入中选择减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835299/

相关文章:

PHP/MySQL 好友请求系统

C# MYSQL SELECT 方法动态

html - 是否可以垂直居中多行标签?

mysql - 如何在 Symfony 1.4 中关闭 Doctrine 连接

jquery - 将 onsubmit 替换为 jquery

javascript:表单选择选项和输入字段

php - 使用 PHP 访问 Exchange 的最佳方式?

php mysql查询根据名称返回结果

php - 使用带有 PHP 的安全 Websocket - 加密握手

MySQL统计文本字段中短语列表的使用情况