SQL Script Error
-
mardi 26 juin 2012 05:39
Hi, i have a syntax Error in this, please advise
SELECT #temp.*,
SELECT DISTINCT Inv_ID,
(
SELECT ' ' + Inv_ID + ' (' + Inv_Type + ') '
FROM OTH_INV_DETAILS a
WHERE a.Inv_ID = b.Inv_ID
FOR XML PATH('')
)Inv_Type_Description,
SUM(Inv_Qty) OVER(PARTITION BY Inv_ID) AS TotalQty
INTO temp
FROM OTH_INV_QTY_LOC b;
SELECT temp.*,
CASE WHEN a.INV_USAGE = 0 THEN 0
ELSE cast ((t.TotalQTY) / a.INV_USAGE as int)
END AS DSB
FROM OTH_INV_DETAILS a
JOIN temp t ON a.INV_ID = t.INV_ID
where 1=1 or t.TotalQty <= A.INV_ROL
Toutes les réponses
-
mardi 26 juin 2012 06:01temp.* wont work correct that.. Is that temporary table?
Tamilselvan
-
mardi 26 juin 2012 06:39
HI Tamil,
Yes, Any advise ?
-
mardi 26 juin 2012 06:47
Try something like the following...
SELECT DISTINCT Inv_ID, ( SELECT ' ' + Inv_ID + ' (' + Inv_Type + ') ' FROM OTH_INV_DETAILS a WHERE a.Inv_ID = b.Inv_ID FOR XML PATH('') ) As Inv_Type_Description, SUM(Inv_Qty) OVER(PARTITION BY Inv_ID) AS TotalQty INTO #temp FROM OTH_INV_QTY_LOC b; SELECT t.*, CASE WHEN a.INV_USAGE = 0 THEN 0 ELSE cast ((t.TotalQTY) / a.INV_USAGE as int) END AS DSB FROM OTH_INV_DETAILS a JOIN #temp t ON a.INV_ID = t.INV_ID where 1=1 or t.TotalQty <= A.INV_ROL -- Clean-up temp table drop table #temp
Thanks
/Neil Moorthy - Senior SQL Server DBA/Developer (MCITP (2005/2008), MCAD, ITILv3, OCA 11g) Please click the Mark as Answer button if a post solves your problem
-
mardi 26 juin 2012 06:47
Hi,
Change the temp.* to t.*. As you have given an alias t to temp temp.* will not work
SELECT DISTINCT Inv_ID, ( SELECT ' ' + Inv_ID + ' (' + Inv_Type + ') ' FROM OTH_INV_DETAILS a WHERE a.Inv_ID = b.Inv_ID FOR XML PATH('') )Inv_Type_Description, SUM(Inv_Qty) OVER(PARTITION BY Inv_ID) AS TotalQty INTO temp FROM OTH_INV_QTY_LOC b; SELECT t.*, CASE WHEN a.INV_USAGE = 0 THEN 0 ELSE cast ((t.TotalQTY) / a.INV_USAGE as int) END AS DSB FROM OTH_INV_DETAILS a JOIN temp t ON a.INV_ID = t.INV_ID where 1=1 or t.TotalQty <= A.INV_ROLRegards
satheesh- Marqué comme réponse Caulson mardi 26 juin 2012 06:52
-
mardi 26 juin 2012 06:50it's work. thank you moort

