mysql设置临时变量一次性查出多层依赖的sql语句
2018-07-13 本文已影响116人
五大RobertWu伍洋
在实际工作中,我们常常会遇到这种情况,想要查的sql和已知的数据中间要通过许多的中间sql依赖查询。开始的方法是先执行已知数据的sql,查出想要的中间数据,以此类推,再执行中间sql,直到查出最终要的数据。用navcat工具的话,每次都要右键-->执行,挺麻烦的。
现在有一种方法,一次执行这些sql,方式如下:
```
select @pid:=id from buy_order where id = 52;
select buy_order_id from buy_order_product where buy_order_id = @pid;
```
-------------------------------------------------------------------------------------
我的实用查询:
```
SELECT IF (
(@remain := (
ifnull(
`tab_adoffer`.`TOTAL_DAY_CAP` ,- (1.1)
) - ifnull(
`view_adoffer_remain_cap`.`sum(day_cap)`,
0
)
)) = - (1.1),
'不限',
@remain
) AS `OFFER_REMAIN_CAP`,
`tab_adoffer`.`ADOFFER_ID` AS `ADOFFER_ID`
FROM
(
`tab_adoffer`
LEFT JOIN `view_adoffer_remain_cap` ON (
(
`tab_adoffer`.`ADOFFER_ID` = `view_adoffer_remain_cap`.`ADOFFER_ID`
)
)
)
```