简体   繁体   English

模型 opencart 中的 AND 请求

[英]AND request in model opencart

I develop new filter in admin opencart.我在 admin opencart 中开发了新的过滤器。 But my sql request is don't work但是我的 sql 请求不起作用

Field "value" is declared in table oc_order_option字段“值”在表oc_order_option声明

Sql request without my filter没有过滤器的 Sql 请求

SELECT o.order_id, CONCAT(o.lastname, ' ', o.firstname) AS customer, COUNT(po.pass_id) as passengers, m.name as carrier, cd.name as tour, o.shipping_code, o.total, os.name as order_status, o.currency_code, o.currency_value, o.date_added, o.date_modified 
FROM oc_order o 
LEFT JOIN oc_agent_to_order ato ON ato.order_id = o.order_id
JOIN oc_order_option oo ON oo.order_id = o.order_id 
JOIN oc_order_status os ON os.order_status_id = o.order_status_id 
JOIN oc_passenger_to_order po ON o.order_id = po.order_id 
JOIN oc_passenger pfo ON po.pass_id = pfo.pass_id 
JOIN oc_order_product op ON op.order_id = o.order_id 
JOIN oc_product p ON p.product_id = op.product_id 
JOIN oc_manufacturer m ON m.manufacturer_id = p.manufacturer_id 
JOIN oc_product_to_category ptc ON ptc.product_id = p.product_id AND ptc.main_category = 1 
JOIN oc_category_description cd ON cd.category_id = ptc.category_id 
WHERE o.order_status_id > '0'

I try this sql code for my request我为我的请求尝试这个 sql 代码

AND value BETWEEN '10.04.2019' AND '10.04.2019'

Full code:完整代码:

SELECT o.order_id, CONCAT(o.lastname, ' ', o.firstname) AS customer, COUNT(po.pass_id) as passengers, m.name as carrier, cd.name as tour, o.shipping_code, o.total, os.name as order_status, o.currency_code, o.currency_value, o.date_added, o.date_modified 
FROM oc_order o 
LEFT JOIN oc_agent_to_order ato ON ato.order_id = o.order_id 
JOIN oc_order_option oo ON oo.order_id = o.order_id 
JOIN oc_order_status os ON os.order_status_id = o.order_status_id 
JOIN oc_passenger_to_order po ON o.order_id = po.order_id 
JOIN oc_passenger pfo ON po.pass_id = pfo.pass_id 
JOIN oc_order_product op ON op.order_id = o.order_id 
JOIN oc_product p ON p.product_id = op.product_id 
JOIN oc_manufacturer m ON m.manufacturer_id = p.manufacturer_id 
JOIN oc_product_to_category ptc ON ptc.product_id = p.product_id AND ptc.main_category = 1 
JOIN oc_category_description cd ON cd.category_id = ptc.category_id 
WHERE o.order_status_id > '0' AND value BETWEEN '10.04.2019' AND '10.04.2019'

Does it work if you use a proper date format for the constants?如果您对常量使用正确的日期格式,它会起作用吗?

value BETWEEN '2019-04-10' AND '2019-04-10'

This is, of course, equivalent to:这当然相当于:

value = '2019-04-10'

If value is a date/time value, then this only matches at midnight on 2019-04-10.如果value是日期/时间值,则这仅在 2019-04-10 午夜匹配。 I suspect that you might want:我怀疑你可能想要:

value >= '2019-04-10' AND
value < '2019-04-11'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM