Ho una tabella simile alla seguente:SQL query: creare categoria colonna basata su una colonna varchar nella tabella contenente i valori specifici
Date Description Value1 Value2
01/01/2012 shiny colour 2 0
01/01/2012 yellow colour 2 2
03/01/2012 matt colour 2 2
03/01/2012 matt 4 1
03/01/2012 shiny 2 2
Voglio scrivere una query SQL SELECT (T-SQL) che sarà restituisce tutte le colonne precedenti ma visualizza anche una colonna aggiuntiva come output dell'istruzione SELECT il cui valore dipende dalla presenza della parola "colore" nella descrizione (se "colore" è presente, sarebbe un valore, se non lo è mostrerebbe un valore diverso).
(Vorrei anche visualizzare un'altra colonna aggiuntiva in cima a quella il cui valore dipende dalla presenza delle parole "matt" o "lucido" nella colonna Descrizione. Ma presumo che il metodo per farlo sarebbe simile).
Credo che dovrei essere in grado di farlo utilizzando la funzione COALESCE, ma non ho familiarità con questo e sto lottando per ottenere qualcosa di funzionamento?
ESTENSIONE
Hey, grazie per le vostre risposte. Sono davvero d'aiuto. Ho un'altra estensione alla domanda. La mia seconda colonna generata si basa sulle informazioni nella prima colonna generata. Quindi, qualcosa di simile a:
SELECT *,
CASE
WHEN Description LIKE '%colour%' THEN 'SomeValue'
ELSE 'Unclassified'
END AS Category1,
CASE
WHEN AnotherColumn LIKE 'Something' THEN 'SomeValue'
WHEN Category1='Unclassified' THEN 'Unclassified'
ELSE 'Generic'
END AS Category2
FROM table_name
Come faccio a ottenere l'output di Categoria2 fare affidamento sulla potenza di Categoria1? Sto provando qualcosa come sopra ma non funziona.
mia domanda di estensione è stato risposto qui:T-SQL CASE statement relies on another CASE statement in same SELECT query
Perfetto grazie! – Katie