我有 2 张桌子。
我需要的输出是:
- 供应商_id
- 供应商名称
- Grade_id
- 年级名
- 顾客姓名
- 客户ID
我正在使用的查询是:
select distinct gs.Supplier_id,s.supplier_name,gs.Grade_id,g.grade_name,
c.customer_name,c.customer_id
from tbl_Customer c, tbl_GradeSupplier gs
left join tbl_Suppliers s on s.supplier_ID = gs.Supplier_id
left join tbl_Grades g on g.grade_id = gs.Grade_id
但是现在我需要在此查询的返回中添加有效的最高日期,其中每个日期在当前日期之前以及该日期的旧价格此信息可以在包含的价格表中找到
price_id grade_id supplier_id price_purchase_value price_validfromdate customer_id price_sell_value price_deleted
41 8 24 2190.00 2012-09-09 00:00:00.000 4 2280.00 NULL
我试图这样做:
select distinct gs.Supplier_id,s.supplier_name,gs.Grade_id,g.grade_name,
c.customer_name,c.customer_id
from tbl_Customer c, tbl_GradeSupplier gs
left join tbl_Suppliers s on s.supplier_ID = gs.Supplier_id
left join tbl_Grades g on g.grade_id = gs.Grade_id
inner join
(select grade_id,customer_id,max(price_validfromdate) as validfrom
from tbl_Prices a
where price_validfromdate <= GETDATE()
group by supplier_id,grade_id,customer_id) prices
on prices.customer_id = c.customer_id and prices.grade_id = gs.Grade_id
这给了我这个错误:无法绑定多部分标识符“c.customer_id”。
有任何想法吗?