oracle 在一定条件下从不同的表中提取数据

7rtdyuoh  于 2023-04-29  发布在  Oracle
关注(0)|答案(1)|浏览(162)

问题:在订单表中列出报告和查询所需的状态ID tbl 1 = ORDERS tbl 2 = STATUS
从订单表需要此数据

SELECT * FROM ORDERS
WHERE ORDER_DATE >= TO_DATE('20210930', 'YYYYMMDD') 
AND ORDER_DATE < TO_DATE('20230328', 'YYYYMMDD')
AND ORDS_STKS_ID=75
ORDER BY ORDER_DATE DESC

从状态表需要这些数据

select * from STATUS
where STAS_ENABLE_APPROVE=1

相似度ORDERS tbl=〉ORDS_STAS_ID STATUS tbl=〉STAS_ENABLE_APPROVE=1;
帮助我从STATUS表中获取status_id,其中条件为STAS_ENABLE_APPROVE=1;

umuewwlo

umuewwlo1#

这看起来像一个连接,但不清楚将使用哪个列。

select *
from orders o join status s on o.??? = s.???    --> this
where o.order_date >= date '2021-09-30' 
  and o.order_date <  date '2023-03-28'
  and o.ords_stks_id = 75
  and s.stas_enable_approve = 1
order by o.order_date desc;

我标记了第二行;你应该修复??? s并在其中放置适当的列名。
也许,只是 * 也许 * 它是

on o.ords_stas_id = s.stas_enable_approve

相关问题