Home All Groups Group Topic Archive Search About
Author
27 Aug 2005 6:33 AM
Mark Moss
Gentlemen and Ladies

        Below is the complete query that I have convert over from HQL to SQL
and I am getting one last error which is

        Server: Msg 170, Level 15, State 1 Line116

        Line 52: Incorrect Syntax Near ')'

        I am running lines 65 thru 115 when I get this error -- HELP -- I am
going blind looking for the error

Mark

{========================================================}


Drop View T0;

Create View T0 as

Select StoreID,
       VendorNumber,
       ItemNumber,
       PLUNumber

From   Item

Where  StoreID = 151995
  and  DepartmentCode = (1)

/* -------------------------------------------------------------------------
-- */

Drop View T1A;

Create View T1A as

Select T1A.StoreID,
       T1A.VendorNumber,
       T1A.ItemNumber,
       T1A.PLUNumber,
       Min(LandedCost)                             AS  MinLandedCost,
       Min(FeeOperating + FeeService + FeeFreight) AS  LowFees,
       Max(LandedCost)                             AS  MaxLandedCost,
       Max(FeeOperating + FeeService + FeeFreight) AS  HighFees,
       Max(IDate)                                  AS  LastInvoiceDate,
       Sum(PurchaseQty)                            AS  TotalPurchaseQty,
       Sum(PurchaseQty * CasePack * SRP)           AS  ExtendedRetail,
       Count(*)                                    AS  NumOfInv

From Invoice as T1A, T0

Where    T1A.StoreID      = T0.StoreID
  and    T1A.VendorNumber = T0.VendorNumber
  and    T1A.ItemNumber   = T0.ItemNumber
  and    T1A.PLUNumber    = T0.PLUNumber

Group By T1A.StoreID,
         T1A.VendorNumber,
         T1A.ItemNumber,
         T1A.PLUNumber

/* -------------------------------------------------------------------------
-- */

Drop View T1;

Create View T1 as

Select *,
       ( MaxLandedCost - MinLandedCost)                        AS
DiffCentsCost,
       ( HighFees      - LowFees)                              AS
DiffCentsFees,
       ((MaxLandedCost - MinLandedCost) / ISNULL(NULLIF(MinLandedCost,
0.00), 1.00 )) * 100 AS DiffPercentCost,
       ((HighFees      - LowFees)       / ISNULL(NULLIF(LowFees,
0.00), 1.00 )) * 100 AS DiffPercentFees

From T1A

/* -------------------------------------------------------------------------
-- */

Drop View T2;

Create View T2 as

Select   StoreID,
         VendorNumber,
         ItemNumber,
         PLUNumber,
         Brand,
         [Description],
         BaseCasePack,
         SizeQuantity,
         AvgWeeklyMovement,
         InventoryTurns,
         ( ( CurrentMargin / ( CASE ( CurrentMargin ) WHEN 100 THEN 1 ELSE
( 100 - CurrentMargin ) END ) ) * InventoryTurns ) AS ROII

From (
        Select  T2.StoreID,
          T2.VendorNumber,
          T2.ItemNumber,
          T2.PLUNumber,
          I3.Brand,
          I3.[Description],
          I3.BaseCasePack,
          I3.SizeQuantity,
          T2.AvgWeeklyMovement,
          ( ( T2.AvgWeeklyMovement * 52 ) / ( CASE ( I3.BaseCasePack ) WHEN
0 THEN 1 ELSE I3.BaseCasePack END ) ) AS InventoryTurns,
         I3.CurrentMargin,
          I3.CurrentPrice

        from    Item AS I3, (
    Select  StoreID,
             VendorNumber,
             ItemNumber,
             PLUNumber,
             ( sum( POSMovement ) / ( ( DATEDIFF( day, min(TDate),
max(TDate) ) + 1 ) / 7 ) ) AS AvgWeeklyMovement

    From    Movement

    Where   StoreID  = 151995
      and   TDate   >= DATEADD( day, - ( 3 * 365 ), CurDate )  --  '- ( 7 *
26 )'
      and   TDate   <= CurDate

     Group By StoreID,
            VendorNumber,
            ItemNumber,
            PLUNumber
                            ) AS T2
'--------- ERROR IS ON THIS LINE ----------'

Where    I3.StoreID      = T2.StoreID
  and    I3.VendorNumber = T2.VendorNumber
  and    I3.ItemNum      = T2.ItemNumber
  and    I3.PLUNum       = T2.PLUNumber
     )

/* -------------------------------------------------------------------------
-- */

Select   T1.StoreID,
         T1.VendorNumber,
         T1.ItemNumber,
         T1.PLUNumber,
         T2.Brand,
         T2.[Description],
         T2.BaseCasePack,
         T2.SizeQuantity,
         T2.AvgWeeklyMovement,
         T2.InventoryTurns,
         T2.ROII,
         T1.MinLandedCost,
         T1.LowFees,
         T1.MaxLandedCost,
         T1.HighFees,
         T1.LastInvoiceDate,
         T1.TotalPurchaseQty,
         T1.ExtendedRetail,
         T1.NumOfInv,
         T1.DiffCentsCost,
         T1.DiffCentsFees,
         T1.DiffPercentCost,
         T1.DiffPercentFees

From T1 T1, T2 T2

Where    T2.StoreID      = T1.StoreID
  and    T2.VendorNumber = T1.VendorNumber
  and    T2.ItemNumber   = T1.ItemNumber
  and    T2.PLUNumber    = T1.PLUNumber

Order By T1.DiffPercentCost;

Author
27 Aug 2005 6:55 AM
Razvan Socol
The error is 5 lines below; you need an alias for the biggest subquery:

[...]
     Group By StoreID,
            VendorNumber,
            ItemNumber,
            PLUNumber
                            ) AS T2
Where    I3.StoreID      = T2.StoreID
  and    I3.VendorNumber = T2.VendorNumber
  and    I3.ItemNum      = T2.ItemNumber
  and    I3.PLUNum       = T2.PLUNumber
     ) ANOTHER_ALIAS

Razvan
Author
27 Aug 2005 7:00 AM
Roji. P. Thomas
You have a couple of brackets missing and you are not using an alias for the
outer query.

See the corrected script below.


Select   StoreID,
         VendorNumber,
         ItemNumber,
         PLUNumber,
         Brand,
         [Description],
         BaseCasePack,
         SizeQuantity,
         AvgWeeklyMovement,
         InventoryTurns,
         ( ( CurrentMargin / ( CASE ( CurrentMargin ) WHEN 100 THEN 1 ELSE
  ( 100 - CurrentMargin ) END ) ) * InventoryTurns ) AS ROII
FROM
(
        Select  T2.StoreID,
          T2.VendorNumber,
          T2.ItemNumber,
          T2.PLUNumber,
          I3.Brand,
          I3.[Description],
          I3.BaseCasePack,
          I3.SizeQuantity,
          T2.AvgWeeklyMovement,
          (( T2.AvgWeeklyMovement * 52 ) / ( CASE ( I3.BaseCasePack ) WHEN
       0 THEN 1 ELSE I3.BaseCasePack END ) ) AS InventoryTurns,
         I3.CurrentMargin,
         I3.CurrentPrice
   from    Item AS I3,
  (
       Select  StoreID,
             VendorNumber,
             ItemNumber,
             PLUNumber,
             ( sum( POSMovement ) / ( ( DATEDIFF( day,
min(TDate),max(TDate) ) + 1 ) / 7 ) ) AS AvgWeeklyMovement
     From    Movement
     Where   StoreID  = 151995
     and   TDate   >= DATEADD( day, - ( 3 * 365 ), CurDate )  --  '- ( 7 *
26 )'
        and   TDate   <= CurDate
     Group By StoreID,
            VendorNumber,
            ItemNumber,PLUNumber ) AS T2
Where    I3.StoreID      = T2.StoreID
  and    I3.VendorNumber = T2.VendorNumber
  and    I3.ItemNum      = T2.ItemNumber
  and    I3.PLUNum       = T2.PLUNumber
     )  x



--
Roji. P. Thomas
Net Asset Management
http://toponewithties.blogspot.com


Show quote
"Mark Moss" <markm***@adelphia.net> wrote in message
news:uIGEIFtqFHA.3720@TK2MSFTNGP14.phx.gbl...
> Gentlemen and Ladies
>
>        Below is the complete query that I have convert over from HQL to
> SQL
> and I am getting one last error which is
>
>        Server: Msg 170, Level 15, State 1 Line116
>
>        Line 52: Incorrect Syntax Near ')'
>
>        I am running lines 65 thru 115 when I get this error -- HELP -- I
> am
> going blind looking for the error
>
> Mark
>
> {========================================================}
>
>
> Drop View T0;
>
> Create View T0 as
>
> Select StoreID,
>       VendorNumber,
>       ItemNumber,
>       PLUNumber
>
> From   Item
>
> Where  StoreID = 151995
>  and  DepartmentCode = (1)
>
> /* -------------------------------------------------------------------------
> -- */
>
> Drop View T1A;
>
> Create View T1A as
>
> Select T1A.StoreID,
>       T1A.VendorNumber,
>       T1A.ItemNumber,
>       T1A.PLUNumber,
>       Min(LandedCost)                             AS  MinLandedCost,
>       Min(FeeOperating + FeeService + FeeFreight) AS  LowFees,
>       Max(LandedCost)                             AS  MaxLandedCost,
>       Max(FeeOperating + FeeService + FeeFreight) AS  HighFees,
>       Max(IDate)                                  AS  LastInvoiceDate,
>       Sum(PurchaseQty)                            AS  TotalPurchaseQty,
>       Sum(PurchaseQty * CasePack * SRP)           AS  ExtendedRetail,
>       Count(*)                                    AS  NumOfInv
>
> From Invoice as T1A, T0
>
> Where    T1A.StoreID      = T0.StoreID
>  and    T1A.VendorNumber = T0.VendorNumber
>  and    T1A.ItemNumber   = T0.ItemNumber
>  and    T1A.PLUNumber    = T0.PLUNumber
>
> Group By T1A.StoreID,
>         T1A.VendorNumber,
>         T1A.ItemNumber,
>         T1A.PLUNumber
>
> /* -------------------------------------------------------------------------
> -- */
>
> Drop View T1;
>
> Create View T1 as
>
> Select *,
>       ( MaxLandedCost - MinLandedCost)                        AS
> DiffCentsCost,
>       ( HighFees      - LowFees)                              AS
> DiffCentsFees,
>       ((MaxLandedCost - MinLandedCost) / ISNULL(NULLIF(MinLandedCost,
> 0.00), 1.00 )) * 100 AS DiffPercentCost,
>       ((HighFees      - LowFees)       / ISNULL(NULLIF(LowFees,
> 0.00), 1.00 )) * 100 AS DiffPercentFees
>
> From T1A
>
> /* -------------------------------------------------------------------------
> -- */
>
> Drop View T2;
>
> Create View T2 as
>
> Select   StoreID,
>         VendorNumber,
>         ItemNumber,
>         PLUNumber,
>         Brand,
>         [Description],
>         BaseCasePack,
>         SizeQuantity,
>         AvgWeeklyMovement,
>         InventoryTurns,
>         ( ( CurrentMargin / ( CASE ( CurrentMargin ) WHEN 100 THEN 1 ELSE
> ( 100 - CurrentMargin ) END ) ) * InventoryTurns ) AS ROII
>
> From (
>        Select  T2.StoreID,
>          T2.VendorNumber,
>          T2.ItemNumber,
>          T2.PLUNumber,
>          I3.Brand,
>          I3.[Description],
>          I3.BaseCasePack,
>          I3.SizeQuantity,
>          T2.AvgWeeklyMovement,
>          ( ( T2.AvgWeeklyMovement * 52 ) / ( CASE ( I3.BaseCasePack ) WHEN
> 0 THEN 1 ELSE I3.BaseCasePack END ) ) AS InventoryTurns,
>         I3.CurrentMargin,
>          I3.CurrentPrice
>
>        from    Item AS I3, (
>    Select  StoreID,
>             VendorNumber,
>             ItemNumber,
>             PLUNumber,
>             ( sum( POSMovement ) / ( ( DATEDIFF( day, min(TDate),
> max(TDate) ) + 1 ) / 7 ) ) AS AvgWeeklyMovement
>
>    From    Movement
>
>    Where   StoreID  = 151995
>      and   TDate   >= DATEADD( day, - ( 3 * 365 ), CurDate )  --  '- ( 7 *
> 26 )'
>      and   TDate   <= CurDate
>
>     Group By StoreID,
>            VendorNumber,
>            ItemNumber,
>            PLUNumber
>                            ) AS T2
> '--------- ERROR IS ON THIS LINE ----------'
>
> Where    I3.StoreID      = T2.StoreID
>  and    I3.VendorNumber = T2.VendorNumber
>  and    I3.ItemNum      = T2.ItemNumber
>  and    I3.PLUNum       = T2.PLUNumber
>     )
>
> /* -------------------------------------------------------------------------
> -- */
>
> Select   T1.StoreID,
>         T1.VendorNumber,
>         T1.ItemNumber,
>         T1.PLUNumber,
>         T2.Brand,
>         T2.[Description],
>         T2.BaseCasePack,
>         T2.SizeQuantity,
>         T2.AvgWeeklyMovement,
>         T2.InventoryTurns,
>         T2.ROII,
>         T1.MinLandedCost,
>         T1.LowFees,
>         T1.MaxLandedCost,
>         T1.HighFees,
>         T1.LastInvoiceDate,
>         T1.TotalPurchaseQty,
>         T1.ExtendedRetail,
>         T1.NumOfInv,
>         T1.DiffCentsCost,
>         T1.DiffCentsFees,
>         T1.DiffPercentCost,
>         T1.DiffPercentFees
>
> From T1 T1, T2 T2
>
> Where    T2.StoreID      = T1.StoreID
>  and    T2.VendorNumber = T1.VendorNumber
>  and    T2.ItemNumber   = T1.ItemNumber
>  and    T2.PLUNumber    = T1.PLUNumber
>
> Order By T1.DiffPercentCost;
>
>

AddThis Social Bookmark Button