我有这个查询从order_history表中获取order_id,就像这样
$sql = "SELECT DISTINCT(`order_id`) FROM `".DB_PREFIX."order_history` WHERE trackcode = '".$trackcode."'";
情况是......
当打包订单时,会为其分配跟踪ID并在order_history表中添加。如果订单已由其他快递服务发送,则order_history表中将存在相同order_id的另一个条目。但是按照上面的查询,它将获取该tracking_no的order_id。即使它是订单历史表的变化。
另一种情况: - 如果跟踪没有。错误地分配给订单然后更改。因此,将通过上述查询获取两个order_id。
我怎样才能找到解决问题的正确方法?
order_history表就像这样
CREATE TABLE `order_history` (
`order_history_id` int(11) NOT NULL AUTO_INCREMENT,
`order_id` int(11) NOT NULL,
`order_status_id` int(5) NOT NULL,
`notify` tinyint(1) NOT NULL,
`comment` text NOT NULL,
`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`trackcode` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`carrier` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`warehouse_id` tinyint(1) DEFAULT '0',
`logistic_partner_id` int(11) DEFAULT NULL,
`dest_area_code` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`dest_service_center_code` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`added_by` varchar(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`order_history_id`)
) ENGINE=MyISAM AUTO_INCREMENT=130306 DEFAULT CHARSET=utf8;
我怎么试过这个
SELECT order_id FROM order_history WHERE trackcode='11171920880' ORDER BY date_added DESC LIMIT 1
但它正在获取order_id,即使最近更新的同一order_id的跟踪代码是'1117192089'
我的问题扩展了其中一个......这不是我的解决方案