login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MSSQL Common Table Expressions (Opgelost)

Offline Ultimatum - 22/06/2009 20:58
Avatar van UltimatumPHP expert Ik heb een Common Table Expressions maar moet ik die opslaan op de MSSQL server of als query gebruiken? Want ik heb nu dit maar krijg een error bij WITH
  1. string selectWith = "WITH PagesList (marketGroupID, parentGroupID, marketGroupName) AS ("+
  2. "SELECT marketGroupID, parentGroupID, marketGroupName "+
  3. "FROM invMarketGroups "+
  4. "WHERE parentGroupID = 209"+
  5. "UNION ALL"+
  6. "SELECT c.marketGroupID, c.parentGroupID, c.marketGroupName"+
  7. "From invMarketGroups as c"+
  8. "INNER JOIN PagesList as p"+
  9. "ON c.parentGroupID = p.marketGroupID"+
  10. ")";
  11.  
  12. string selectItem = "SELECT marketGroupID, parentGroupID, marketGroupName FROM PagesList";

2 antwoorden

Gesponsorde links
Offline Koen - 22/06/2009 21:06
Avatar van Koen PHP expert Altijd handig om de foutmelding even te vermelden 
Offline Ultimatum - 22/06/2009 21:15 (laatste wijziging 24/06/2009 14:44)
Avatar van Ultimatum PHP expert Klopt, sorry dacht dat "hij gaat bij WITH kapot" genoeg voor jullie geniale mensen was 

Citaat:
Incorrect syntax near the keyword 'WITH'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
Incorrect syntax near 'ALLSELECT'.

Dat is als ik het zo probeer:
  1. string selectItem = "SELECT marketGroupID, parentGroupID, marketGroupName FROM "+selectWith;


Deze error krijg ik:
Citaat:
Invalid object name 'PagesList'.
als ik het zo doe:
  1. string selectItem = "SELECT marketGroupID, parentGroupID, marketGroupName FROM PagesList";


Als ik een nieuwe query in Microsoft SQL server 2008 aanmaak met deze inhoud doet hij het naar behoren:
  1. WITH PagesList (marketGroupID, parentGroupID, marketGroupName) AS (
  2. SELECT marketGroupID, parentGroupID, marketGroupName
  3. FROM invMarketGroups
  4. WHERE parentGroupID = 209
  5.  
  6. UNION ALL
  7.  
  8. SELECT c.marketGroupID, c.parentGroupID, c.marketGroupName
  9. FROM invMarketGroups AS c
  10. INNER JOIN PagesList AS p
  11. ON c.parentGroupID = p.marketGroupID
  12.  
  13. )
  14.  
  15. SELECT marketGroupID, parentGroupID, marketGroupName FROM PagesList


Heb het al opgelost, moest the WITH and SELECT in 1 string var zetten en die gebruiken in query.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.398s