日期:2014-05-18  浏览次数:20578 次

SQL 查询语句 注释
SQL code
 
SELECT a.ID,o.UID as 
OrderDocUID,o.OrderStyleID,a.StyleDocTreeID,a.BOMType,o.OrderDocType,
a.Code,a.IsCheckMaterial,a.IsCalculation,a.IsCheckPrice,a.IsPurchase,a.IsReceive, 
a.IsStockIn,a.IsFollowDoc,a.IsAssign,a.IsAssistantMaterial,a.IsMainMaterial,a.FilingUp,a.IsIntact, 
a.IsSubmit,a.SubmitDate,a.CheckState,a.CreateDate,a.CreateUserID,a.LastModifiedDate,a.ReferenceDate, 
tp.Name as TechnicPerson,ac.Name as CreateUserName,Cast(null as Image) as StyleImage, 
a.LastModifiedUserID,a.IsBreakDown,a.BreakDownDate,a.HasHanged,a.Remark,am.Name as LastModifiedUserName , 
o.DocCode as OrderCode,o.Code as StyleCode ,o.Name as StyleName,o.SessionType,cs.CustomName FROM 
OrderStyleBOM as a INNER JOIN view_OrderStyleExtend_ALL o ON a.StyleDocTreeID = o.StyleDocTreeID 
LEFT JOIN view_GoodsType vg on vg.ID = o.GoodsType 
LEFT JOIN AC_User tp ON o.TechnicPerson = tp.ID 
LEFT JOIN AC_User ac ON a.CreateUserID = ac.ID 
LEFT JOIN AC_User am ON a.LastModifiedUserID = am.ID 
LEFT JOIN Custom cs ON cs.ID = o.CustomID 
WHERE o.[DocCode] LIKE '%120392%' and a.BOMType = 0 


刚开始接触ERP 很早以前学过一段时间SQL 忘得差不多了
求 注释 
1.select 后面的那些 a.xxx 表示的是什么 是不是 a的属性?a又是什么 表吗?o.xxx o是什么。。。
2.left join 我看到有些不是说列出所有的 然后再进行选择 没有的显示Null 吗?
为什么最后显示的 没有那些 null的

------解决方案--------------------
1.select 后面的那些 a.xxx 表示的是什么 是不是 a的属性?a又是什么 表吗?o.xxx o是什么。。。
a.xxx表示的字段,a是表OrderStyleBOM的别名,o.xxx o是表view_OrderStyleExtend_ALL的别名
2、left join 我看到有些不是说列出所有的 然后再进行选择 没有的显示Null 吗
left jion表示左连接