我有两张桌子。
我想对tableA进行查询并按tableB排序。
这是一个会计系统。
TableA 包含客户。表 B 包含客户支付的款项。
我想select *
从 TableA 订单中,他在 TableB 中首先支付了本月的日期,然后是没有付款的其余部分。
SELECT
*
FROM TableA
LEFT JOIN TableB
ON TableB.customer_id = TableA.customer_id
ORDER BY COALESCE(TableB.payDate, '1900-01-01') DESC
您可以外连接两个表,按表 A 中的标识信息分组,并按表 B 中的最大付款日期排序,如下所示:
select customer.customer_id, customer.first_name, customer.last_name,
max(payment.payment_date)
from customer
left outer join payment on payment.customer_id = customer.customer_id
group by customer.customer_id, customer.first_name, customer.last_name
order by max(payment.payment_date) desc