收到类似错误
Unknown column 'code' in 'where clause'
SELECT * FROM `payment` WHERE `code` = 'ORD00023'
尽管我使用了连接方法来连接支付表和服务表。在这里我找到了前一行值的解决方案,但它没有得到。
这是我的模型
public function order_balance($order_code)
{
$this->db->query("
SELECT p1.*
, p2.balance AS previous_balance
FROM payment p1
JOIN payment p2
ON p1.order_id = p2.order_id + 1
AND p1.customer_id = p2.customer_id
LEFT
JOIN services s
ON p1.customer_id = s.customer_id
ORDER BY p1.id DESC
");
$query = $this->db->get_where('payment p1', array('code' => $order_code));
return $query;
}
这是我的餐 table 付款
id order_id customer_id amount actual_amount paid_amount balance type
25 11 16 100.00 50.00 50.00 Cash
26 12 16 200.00 100.00 100.00 Cash
27 13 16 150.00 100.00 50.00 Cash
28 14 16 300.00 250.00 50.00 Cash
29 14 16 170.00 100.00 70.00 Cash
30 15 16 100 170.00 70.00 100.00 Cash
31 16 16 400 500.00 300.00 200.00 Cash
这是餐 table 服务
id code customer_id particulars
11 ORD00011 16 phone
12 ORD00012 16 gdf
13 ORD00013 16 ghgfh
14 ORD00014 16 tv
15 ORD00015 16 ghfg
16 ORD00016 16 tv
17 ORD00017 16 gdfg
18 ORD00018 16 desk
19 ORD00019 16 gdf
这里我已经加入了付款表和服务表,但仍然没有得到
看我的 table
id order_id customer_id amount actual_amount paid_amount balance type
50 31 16 650 750.00 250.00 500.00 Cash
51 1 16 100 600.00 300.00 300.00 Cash
52 2 16 100 400.00 200.00 200.00 Cash
53 3 16 800 1000.00 600.00 400.00 Cash
54 4 15 400 400.00 300.00 100.00 Cash
55 5 15 500 600.00 575.00 25.00 Cash
56 6 16 350 750.00 600.00 150.00 Cash
在此表中,16
的 customer_id 的前一行值为余额 25,并且情况如下,但我希望将最后一个 customer_id 16
余额值作为前一个 customer_id 16
值。
例如我的结果应该是这样的
id order_id customer_id amount actual_amount paid_amount balance type
56 6 16 350 750.00 600.00 400.00 Cash
最佳答案
你想要这个吗?
$this->db->query("SELECT p1.*, p2.balance AS previous_balance FROM payment p1 INNER JOIN payment p2 ON p1.order_id = p2.order_id + 1 AND p1.customer_id = p2.customer_id LEFT JOIN services s ON p1.customer_id = s.customer_id AND s.code = ? ORDER BY p1.id DESC", array($order_code));
关于mysql - 在 where 子句中获取未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37803940/