Fråga : Sql-Queryproblem

Jag har frågats att finna ut, hur mycket som är materiell vi, har använt i en månad, genom att förhöra SQLEN database.

I, kan gå alla bästa jämna delar tillbaka, genom att använda efter för class=" codeSnippet " för code.
1 för >SELECT InvMovements.StockCode " för prettyprint " för class= för id= " codeSnippet833896 " för >


This går partnumberen (stockcode) tillbaka, och antalet som tillverkas för month.I då behov för att ta fram bomen, bordlägger för att gå materialen som tillbaka används för bomen för parts.
The, bordlägger har efter strukturera: problemet för
Component
QtyPer

The för
ParentPart är det för någon givna ParentPart som den del- styrkan göras också upp av flera
ParentPart xxx för parts.
e.g. göras av del- YYYY, och bruk QtyPer 12
ParentPart xxx göras av del- ZZZZ, och bruk QtyPer 2
ParentPart xxx göras av del- WWW, och det bruksQtyPer 3

The problemet jag har, är del- ZZZZ göras upp of
ParentPart ZZZZ göras av del- aaaa, och bruk QtyPer 4
ParentPart ZZZZ göras av del- bbbb och använder QtyPer 7

For exemplet, över jag skulle antal 14
Part för antal 8 för aaaaen för antal 12
Part för
uses
Part YYYY för behovsreturn
ParentPart xxx Antal 3

and för/>Part WWWW multiplicerar därefter individdelantalet vid QtyPeren som gås tillbaka i original SQL.

" klar "

Svar : Sql-Queryproblem

välj X.StockCode [topLevelPart], [topQty] X.Qty,
      Sammansmälta (E.Component, D.Component, C.Component, B.Component, A.Component) [lowerLevelPart],
      *ISNULL för *ISNULL för *ISNULL för *ISNULL för ISNULL (E.QtyPer, 1) (D.QtyPer, 1) (C.QtyPer, 1) (B.QtyPer, 1) (A.QtyPer, 1) *X.Qty [antal]
från (
      VÄLJ InvMovements.StockCode SOM StockCode, SUMMAN (InvMovements.TrnQty) SOM antal
      FRÅN InvMovements
      INRE SAMMANFOGA InvMaster PÅ InvMovements.StockCode = InvMaster.StockCode
      VAR (InvMovements.EntryDate MELLAN OMVÄNDEN (DATETIME, ”00:00 2010-05-31: 00”, 102)
                                                        OCH OMVÄND (DATETIME, ”00:00 2010-06-27: 00”, 102))
        OCH (InvMovements.TrnType = ”R”) OCH (InvMaster.ProductClass IN (”PDM”, ”PRM”, ”TM”, ”PM”))
      GRUPP VID InvMovements.StockCode
) X
inre sammanfoga BOM A på A.ParentPart = X.StockCode
lämnat sammanfoga BOM B på B.ParentPart = A.Component
lämnat sammanfoga BOM C på C.ParentPart = B.Component
lämnat sammanfoga BOM D på D.ParentPart = C.Component
lämnat sammanfoga BOM E på E.ParentPart = D.Component
BESTÄLLA VID X.StockCode
Andra lösningar  
 
programming4us programming4us