Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
ishaame
Starting Member
12 Posts |
Posted - 2008-05-14 : 11:19:59
|
| I have been changing the placement of the brackets in the SELECT after the JOIN but keet getting error messages (table "RE_1" not present, error on "ON" or befor "LEFT"). Here is the command:SELECT TR_1.*, RE_1.*FROM(SELECT TR_1.ACCOUNT, TR_1.ACTIVITY,TR_1.DONOR,TR_1.COSTCENTER,SUM(CASE WHEN TR_1.TTYPE = 'U' THEN TR_1.AmountLCU*-1 ELSE 0 END) AS Budget,SUM(CASE WHEN TR_1.TTYPE <> 'U' THEN TR_1.AmountLCU*-1 ELSE 0 END) AS Actual,TR_1.TransactionDate TR_1 Date, YEAR(TR_1.TransactionDate) TR_1 YearFROM scalaDB.dbo.A_GL0601_PREVIOUS AS TR_1WHERE NOT (TR_1.TTYPE='\' OR TR_1.TTYPE='a' OR TR_1.TTYPE='c') AND NOT (TR_1.COSTCENTER=N'' OR TR_1.COSTCENTER=N'0000') AND ((TR_1.ACCOUNT>=N'26' AND TR_1.ACCOUNT<N'7100') OR (TR_1.ACCOUNT>N'7100' AND TR_1.ACCOUNT<=N'7999'))GROUP BY TR_1.COSTCENTER,TR_1.ACCOUNT,TR_1.ACTIVITY,TR_1.DONOR,TR_1.TransactionDate) LEFT OUTER JOIN ((SELECT RE_1.ACT RE-ACT,RE_1.DONOR RE-DONOR,RE_1.CC RE-CC,YEAR(RE_1.DTE) RE-1 Year,RE_1.SYMBOL,RE_1.DTE,RE_1.SPLIT_AMOUNT AS RE Split in CHF,RE_1.FOREIGN_AMOUNT AS RE Foreign Amnt FROM scalaDB.dbo.RE_Donor_Gift) RE_1)ONTR_1.COSTCENTER=RE_1.CC AND TR_1.DONOR=RE_1.DONOR AND TR_1.ACTIVITY=RE_1.ACT AND TR_1 Year=RE-1 YearThanks in advanceishaame |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-05-14 : 11:28:19
|
Change like this & try:-SELECT TR_1.*, RE_1.*FROM(SELECT TR_1.ACCOUNT, TR_1.ACTIVITY,TR_1.DONOR,TR_1.COSTCENTER,SUM(CASE WHEN TR_1.TTYPE = 'U' THEN TR_1.AmountLCU*-1 ELSE 0 END) AS Budget,SUM(CASE WHEN TR_1.TTYPE <> 'U' THEN TR_1.AmountLCU*-1 ELSE 0 END) AS Actual,TR_1.TransactionDate [TR_1 Date], YEAR(TR_1.TransactionDate) [TR_1 Year]FROM scalaDB.dbo.A_GL0601_PREVIOUS AS TR_1WHERE NOT (TR_1.TTYPE='\' OR TR_1.TTYPE='a' OR TR_1.TTYPE='c') AND NOT (TR_1.COSTCENTER=N'' OR TR_1.COSTCENTER=N'0000') AND ((TR_1.ACCOUNT>=N'26' AND TR_1.ACCOUNT<N'7100') OR (TR_1.ACCOUNT>N'7100' AND TR_1.ACCOUNT<=N'7999'))GROUP BY TR_1.COSTCENTER,TR_1.ACCOUNT,TR_1.ACTIVITY,TR_1.DONOR,TR_1.TransactionDate)tmp LEFT OUTER JOIN (SELECT RE_1.ACT [RE-ACT],RE_1.DONOR [RE-DONOR],RE_1.CC RE-CC,YEAR(RE_1.DTE) [RE-1 Year],RE_1.SYMBOL,RE_1.DTE,RE_1.SPLIT_AMOUNT AS [RE Split in CHF],RE_1.FOREIGN_AMOUNT AS [RE Foreign Amnt] FROM scalaDB.dbo.RE_Donor_Gift) RE_1ONtmp.COSTCENTER=RE_1.CC AND tmp.DONOR=RE_1.DONOR AND tmp.ACTIVITY=RE_1.ACT AND [TR_1 Year]=[RE-1 Year] |
 |
|
|
ishaame
Starting Member
12 Posts |
Posted - 2008-05-14 : 11:46:39
|
| Does not work: Line 7, incorrect syntax near ')' |
 |
|
|
ishaame
Starting Member
12 Posts |
Posted - 2008-05-14 : 11:47:54
|
| does not work: line 7: incorrect syntax near ')' |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2008-05-14 : 11:53:39
|
[code]SELECT TR.*, RE.*FROM ( SELECT ACCOUNT, ACTIVITY, DONOR, COSTCENTER, SUM(CASE WHEN TTYPE = 'U' THEN -AmountLCU ELSE 0 END) AS Budget, SUM(CASE WHEN TTYPE <> 'U' THEN -AmountLCU ELSE 0 END) AS Actual, TRANSACTIONDATE AS [TR_1 Date], YEAR(TRANSACTIONDATE) AS [TR_1 Year] FROM ScalaDB.dbo.A_GL0601_PREVIOUS WHERE TTYPE NOT IN ('\', 'a', 'c') AND COSTCENTER NOT IN ('', '0000') AND ACCOUNT >= '26' AND ACCOUNT <= '7999' AND ACCOUNT <> '7100' GROUP BY COSTCENTER, ACCOUNT, ACTIVITY, DONOR, TRANSACTIONDATE ) AS TRLEFT JOIN ( SELECT ACT AS [RE-ACT], DONOR AS [RE-DONOR], CC AS [RE-CC], YEAR(RE_1.DTE) AS [RE-1 Year], SYMBOL, DTE, SPLIT_AMOUNT AS [RE Split in CHF], FOREIGN_AMOUNT AS [RE Foreign Amnt] FROM scalaDB.dbo.RE_Donor_Gift ) AS RE ON RE.CC = TR.COSTCENTER AND RE.DONOR = TR.DONOR AND RE.ACT = TR.ACTIVITY AND RE.[RE-1 Year] = TR.[TR_1 Year][/code] E 12°55'05.25"N 56°04'39.16" |
 |
|
|
ishaame
Starting Member
12 Posts |
Posted - 2008-05-14 : 12:17:34
|
| Sorry Peso, but I get the similar error message: RE does not match with table name or alias name used in the query |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-05-14 : 12:27:46
|
quote: Originally posted by ishaame Sorry Peso, but I get the similar error message: RE does not match with table name or alias name used in the query
Can you post your full query used? |
 |
|
|
ishaame
Starting Member
12 Posts |
Posted - 2008-05-15 : 02:55:13
|
quote: Originally posted by visakh16
quote: Originally posted by ishaame Sorry Peso, but I get the similar error message: RE does not match with table name or alias name used in the query
Can you post your full query used?
What I posted is the full query |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-05-15 : 03:42:15
|
quote: Originally posted by ishaame
quote: Originally posted by visakh16
quote: Originally posted by ishaame Sorry Peso, but I get the similar error message: RE does not match with table name or alias name used in the query
Can you post your full query used?
What I posted is the full query
change like this & trySELECT TR.*, RE.*FROM ( SELECT ACCOUNT, ACTIVITY, DONOR, COSTCENTER, SUM(CASE WHEN TTYPE = 'U' THEN -AmountLCU ELSE 0 END) AS Budget, SUM(CASE WHEN TTYPE <> 'U' THEN -AmountLCU ELSE 0 END) AS Actual, TRANSACTIONDATE AS [TR_1 Date], YEAR(TRANSACTIONDATE) AS [TR_1 Year] FROM ScalaDB.dbo.A_GL0601_PREVIOUS WHERE TTYPE NOT IN ('\', 'a', 'c') AND COSTCENTER NOT IN ('', '0000') AND ACCOUNT >= '26' AND ACCOUNT <= '7999' AND ACCOUNT <> '7100' GROUP BY COSTCENTER, ACCOUNT, ACTIVITY, DONOR, TRANSACTIONDATE ) AS TRLEFT JOIN ( SELECT ACT AS [RE-ACT], DONOR AS [RE-DONOR], CC AS [RE-CC], YEAR(RE_1.DTE) AS [RE-1 Year], SYMBOL, DTE, SPLIT_AMOUNT AS [RE Split in CHF], FOREIGN_AMOUNT AS [RE Foreign Amnt] FROM scalaDB.dbo.RE_Donor_Gift ) AS RE ON RE.[RE-CC]= TR.COSTCENTER AND RE.DONOR = TR.DONOR AND RE.[RE-ACT] = TR.ACTIVITY AND RE.[RE-1 Year] = TR.[TR_1 Year] |
 |
|
|
ishaame
Starting Member
12 Posts |
Posted - 2008-05-15 : 04:28:14
|
| Hello everybody, My query works now. The problem was that it did not like to refer table alias before the alias was defined. For exampleSELECT TR.*FROM (SELECT TR.DONOR FROM GL06_PREVIOUS ) AS TRwould not work,butSELECT TR.*FROM (SELECT DONOR FROM GL06_PREVIOUS ) AS TRThanks everybody for the help.IShaame |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-05-15 : 07:43:32
|
quote: Originally posted by ishaame Hello everybody, My query works now. The problem was that it did not like to refer table alias before the alias was defined. For exampleSELECT TR.*FROM (SELECT TR.DONOR FROM GL06_PREVIOUS ) AS TRwould not work,butSELECT TR.*FROM (SELECT DONOR FROM GL06_PREVIOUS ) AS TRThanks everybody for the help.IShaame
I dont think Peso used any aliases in inner query. So you were trying a different query? |
 |
|
|
|
|
|
|
|