我有两个表:
customer_id
,name
customer_id
,date
,amount
我想创建一个视图:customer_id
,name
,is_active
-一个布尔字段,当客户在订单中至少有一条记录时,该字段保存值true
我可以不使用join
操作符吗?
您可以,而且可能应该使用exists
。
不同的平台有不同的日期函数语法,如current_date / getdate() / currdate()
等-使用哪个是正确的为您的RDBMS。
select c.Customer_Id, c.Name,
case when exists (
select *
from Orders o
where o.Customer_Id = c.customer_Id and year(o.date) = year(current_date))
then 1 else 0 end as Is_Active
from Customers c;