【发布时间】:2017-07-21 17:41:39
【问题描述】:
我在数据库查询方面没有经验,但我正在尝试从 MySQL 获取这些数据:
$query->select(array($db->quoteName('userid')));
$query->select(' DATEDIFF(expires, now()) as dayleft');
$query->from($db->quoteName('product_order_status'));
$query->where($db->quoteName('userid') . ' LIKE '. $userID);
$query->where($db->quoteName('active') . ' LIKE '. '1');
$query->from($db->quoteName('product_orders'));
$query->where($db->quoteName('processor') . ' LIKE '. 'paypal');
我想要得到的是-
-
来自 product_order_status 表
- 获取日期范围 - 工作
- 获取当前用户的“活动”字段值为“1”的订单 - 工作中
-
来自 product_orders 表
- 从值为“paypal”的“process”字段获取付款流程。 - 当我添加此查询时,它不起作用并显示错误:1052 字段列表中的列 'userid' 不明确
如何正确进行此查询,以便获得 PayPal 为当前登录用户处理的活动订单?
【问题讨论】:
-
此错误表示查询中使用了多个表,但您要求的列存在于多个表中。所以你需要像这样指定哪个表:
SELECT sample1.userid FROM sample1 LEFT JOIN sample2 ON sample1.id = sample2.id -
你能根据上面的查询写出完整的代码吗?感谢您的帮助!