segno di confronto ‘maggiore di’ e ‘uguale a’ in CASE SQL Statement

sono nuovo SQL Server e questo è il mio primo post.
ricevo il messaggio “sintassi non corretta vicino a ‘=’ quando si usa la Case Statement. ecco un esempio del mio codice:

  Select * , CASE 
    when a > b THEN b = a
    when c > d THEN d = c
    when e > f THEN f = e
    when g > h THEN h = g
    when i > j THEN j = i
    when k > l THEN l = k
    when m > n THEN n = m
    when o > p THEN p = o

END as value
INTO #temptable
From #atemptable

grazie in anticipo per il vostro aiuto!

EN From: Comparison sign ‘greater than’ and ‘equal to’ in CASE SQL Statement

More similar articles:

5 Comments

  1. sto cercando di valutare un’espressione dove sta controllando se una variabile è maggiore dell’altra. se viene poi impostata la variabile minore uguale alla variabile maggiore. ha senso? questo risponde alla tua domanda? e ‘codice esistente in un altro linguaggio (SAS) che sto cercando di rifare in SQL.

  2. heh, posso leggere questo tipo di, ma non si può fare in una istruzione SELECT. esiste solo per SELECT. nessuna assegnazione o qualsiasi cosa possibile, questo è quello che hai la dichiarazione UPDATE per.

  3. non è chiaro se si desidera che la parte THEN per essere un incarico o un confronto. in entrambi i casi, non è possibile, la parte THEN può essere solo un’espressione. sto supponendo che si voleva un incarico. sembra che non si desidera aggiornare il #atemptable, si desidera solo i nuovi valori in #temptable. in questo caso, è possibile utilizzare espressioni separate CASE, come questo:

    SELECT  A, CASE WHEN A > B THEN A ELSE B END AS B,
            C, CASE WHEN C > D THEN C ELSE D END AS D
    END AS value
    INTO #temptable
    FROM #atemptable

Leave a Reply

Your email address will not be published. Required fields are marked *