Sql 守则的解释
回顾了一些代码,我跌跌撞撞地看到了这段SQL代码,我不明白它在做什么Sql 守则的解释,sql,sql-server,events,Sql,Sql Server,Events,回顾了一些代码,我跌跌撞撞地看到了这段SQL代码,我不明白它在做什么 INNER JOIN PPORDFIL_SQL on dbo.att_Synergy_Absences.ItemCode = PPORDFIL_SQL.item_no and PPORDFIL_SQL.id in (Select top 1 p2.ID from PPORDFIL_SQL as p2 where p2.item_no = PPOR
INNER JOIN PPORDFIL_SQL
on dbo.att_Synergy_Absences.ItemCode = PPORDFIL_SQL.item_no
and PPORDFIL_SQL.id in
(Select top 1 p2.ID
from PPORDFIL_SQL as p2
where p2.item_no = PPORDFIL_SQL.item_no
and p2.ord_status = PPORDFIL_SQL.ord_status
and dbo.att_Synergy_Absences.syscreated <= ppordfil_sql.entered_dt
order by p2.id )
据我所知,假设显示1条条目,而不管最早的条目是多少
例如,同一物料号有多个物料,但订单号不同,因此即使同一物料号有多个订单号,也只会显示一个条目
我试着运行代码,但没有成功
对它的功能有什么评论吗?或者我是否真的做对了?lol您的两个连接条件相互干扰 试着这样做:
INNER JOIN PPORDFIL_SQL on PPORDFIL_SQL.id = (
Select top 1 p2.ID
from PPORDFIL_SQL as p2
where p2.item_no = dbo.att_Synergy_Absences.ItemCode
and p2.ord_status = PPORDFIL_SQL.ord_status
and dbo.att_Synergy_Absences.syscreated <= ppordfil_sql.entered_dt
order by p2.id
)
这是一个开始得到答案的好地方。您的子查询是按ID排序的-也许应该改为按日期字段排序?