我目前有:
SELECT tbl_review.*, users.first_name, users.last_name, (
SELECT order_ns.tran_date
FROM order_ns
LEFT JOIN product_2_order_ns.external_order_id = order_ns.order_id
WHERE product_2_order_ns.bkfno IN :id
ORDER BY order_ns.trandate ASC
LIMIT 1
) as purchase_date
FROM tbl_review
LEFT JOIN users ON users.sequal_user_id = tbl_review.user_id
WHERE tbl_review.product_id IN :id AND tbl_review.approved = 1
其中,在其子查询中,选择用户拥有的具有问题产品的订单(在 中定义:id
)获取已找到订单之一的最早交易日期。
我真的很想将其保留在数据库的一次调用中(真的不想为每个返回的用户再次调用一个字段,甚至对所有用户进行范围查询)但显然这个特定的查询不起作用.
如果有的话,我该怎么做才能让它工作?
我不能将子查询变成连接,因为它们是两个不同的数据,子查询需要返回主查询中每一行的详细信息。