Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problema sintassi TSQL SQL 2008

    SQL 2008

    Ragazzi, sto facendo delle prove ma non vengo a capo di questo problema:

    USE PROVE
    DECLARE @ABBA AS INT
    SET @ABBA=SELECT datalength(ru) FROM HOSPICE
    SELECT CASE @ABBA =1 THEN 'Computer'
    ELSE 'Nessuna categoria'
    END

    Msg 156, Level 15, State 1, Line 3
    Sintassi non corretta in prossimità della parola chiave 'SELECT'.
    Msg 102, Level 15, State 1, Line 5
    Sintassi non corretta in prossimità di '='.

    Le sto provando tutte....

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Non ho capito tutto ma puoi prendere spunto da qui


    codice:
    USE PROVE
    DECLARE @ABBA INT
    SET @ABBA = (SELECT MAX(DATALENGTH(ru)) FROM dbo.HOSPICE)
    print @ABBA
    
    
    IF @ABBA = 1 
    print 'Computer'
    ELSE 
    print 'Nessuna categoria'

    Oltre alla sintassi che ho ritoccato la variazione piu importante è che io
    ti ho proposto il Max di DATALENGTH

    Diversamente se la tabella ha piu record avresti piu valori !!!


    .

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Grazie mille nman...adesso provo ma ci sto capendo poco...per esempio

    codice:
    USE PROVE
    GO
    SELECT PROVINA =
           CASE RU
             WHEN 'GENERALE' THEN 'Computer'
             WHEN 'OLISTICA' THEN 'Cucina moderna'
             WHEN 'M*' THEN 'Business' 
              WHEN 'psychology' THEN 'Psicologia'
             WHEN 'trad_cook' THEN 'Cucina tradizionale'
             ELSE 'Nessuna categoria'
          END, RU
             
    FROM HOSPITAL
    le ho provate tutte % * + ma incomincio a sospettare che non puoi decidere in u select case di tramutare un when in un where like 'm%' va benissimo ma nel when no...

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333

  5. #5
    when substring(colonna,1,1)='M'...

    oppure

    when left(colonna,1)='M'...

  6. #6
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Già letto ma non mi risolve nulla...io voglio solo capire se è possibile un like nel when o qualcosa di simile....

  7. #7
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Niente OPTIME ho provato ma...

    codice:
    USE PROVE
    GO
    
    SELECT CASE ru
             WHEN 'CHIRURGIA GENERALE' THEN 'Computer'
             WHEN 'OCULISTICA' THEN 'Cucina moderna'
             WHEN substring(colonna,1,1)='M' THEN 'Business'
              WHEN 'psychology' THEN 'Psicologia'
             WHEN 'trad_cook' THEN 'Cucina tradizionale'
             ELSE 'Nessuna categoria'
          END
    from HOSPITAL
    Msg 102, Level 15, State 1, Line 5
    Sintassi non corretta in prossimità di '='.

  8. #8
    un esempio direttamente da mamma m$

    codice:
    USE pubs
    SELECT SUBSTRING((RTRIM(a.au_fname) + ' '+ 
       RTRIM(a.au_lname) + ' '), 1, 25) AS Name, a.au_id, ta.title_id,
       Type = 
      CASE 
        WHEN SUBSTRING(ta.title_id, 1, 2) = 'BU' THEN 'Business'
        WHEN SUBSTRING(ta.title_id, 1, 2) = 'MC' THEN 'Modern Cooking'
        WHEN SUBSTRING(ta.title_id, 1, 2) = 'PC' THEN 'Popular Computing'
        WHEN SUBSTRING(ta.title_id, 1, 2) = 'PS' THEN 'Psychology'
        WHEN SUBSTRING(ta.title_id, 1, 2) = 'TC' THEN 'Traditional Cooking'
      END
    FROM titleauthor ta JOIN authors a ON ta.au_id = a.au_id

  9. #9
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    OK. Ma in questo caso il when é uguale per tutti:

    'bu''mp''vc' etc, mettiamo io voglio una cosa del genere 'busin*', 'macchine prodotti', 'vc*'...probabilmente mi sto rendendo conto che non posso.

    ps ho creato delle view ma adesso vorrei vederle sul QA, ovviamente posso vedere quali tramite una select su sys.view ma io vorrei proprio richiamarle a video come le query. Dove li salva? Grazie...SQL 2008 è una figata ma devo prendere la mano con la sintassi....grazie OPTIME

  10. #10
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    secondo quanto dicono qui dovrebbe essere possibile (ed anche abbastanza semplice)

    http://www.sqlservercentral.com/Foru...aspx#bm1026429

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.