现在有一个refund表,一个refund_trade表,是一对多关系
我想达到的效果是,展示所有的reufnd表的内容(即列表页),但是,如果传了success(对列表页进行筛选),则看这个refund对应的refund_trade的「最新」的记录是否为success,是的话,则返回对应的refund表的内容,否则的话,这个refund的记录不展示。原生sql语句怎么写呢?或者说用Laravel的whereHas应该怎么写呢?ps:菜鸟勿喷,望大神指教
现在有一个refund表,一个refund_trade表,是一对多关系
我想达到的效果是,展示所有的reufnd表的内容(即列表页),但是,如果传了success(对列表页进行筛选),则看这个refund对应的refund_trade的「最新」的记录是否为success,是的话,则返回对应的refund表的内容,否则的话,这个refund的记录不展示。原生sql语句怎么写呢?或者说用Laravel的whereHas应该怎么写呢?ps:菜鸟勿喷,望大神指教
SELECT
`r3`.`refund_id`
FROM
`refund` AS `r3`
JOIN
(
SELECT
`r1`.`refund_id`
FROM
`refund_trade` AS `r1`
LEFT JOIN `refund_trade` AS `r2` ON
`r2`.`refund_id ` = `r1`.`refund_id`
AND `r1`.`id` < `r2`.`id`
WHERE
`r2`.`id` IS NULL
AND `r1`.`return_code` = 'SUCCESS'
) AS `r4` ON
`r4`.`refund_id` = `r3`.`refund_id`
LIMIT 0,15;
2 回答3.1k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
refund表冗余一个return_code字段不就完美解决?每次添加refund_trade表记录时更新refund表的状态.