Per favore, pazienza con me, questo è abbastanza difficile da spiegare e non sono sicuro se sto usando la terminologia corretta.SQL: Conditional Select within Conditional Select
Ho bisogno di fare una selezione piuttosto complicata. È effettivamente un'istruzione select che condiziona in modo condizionale quale campo utilizzare per filtrare la selezione. Se un certo campo data non è nullo, devo verificare che il valore in quel campo sia all'interno di un certo intervallo. In caso contrario, se questo campo data è nullo ho bisogno di controllare un altro campo, campo int, sullo stesso tavolo è entro un certo intervallo:
Pseudocodice:
If [Date] is not null
Get sum (table.value) for rows Date >= dateValue and Date < dateValue
Else
Get sum (table.value) for rows Int >= intValue and Int < intValue
Il mio attuale tentativo:
SELECT CASE WHEN a.Date IS NOT NULL THEN
(SUM(CASE WHEN (a.Date >= cal.Date) THEN ABS(a.Value) ELSE 0 END))
ELSE
(SUM(CASE WHEN (b.Days >= 0) THEN ABS(a.Value) ELSE 0 END)
END AS 'A'
Qualche idea? Chiedi se hai bisogno di maggiori informazioni. Grazie in anticipo.
si prega di controllare la mia modifica – gbn
Yup. Saluti. Avevo una dichiarazione o originariamente, ma il campo Integer sarebbe stato trascinato anche se il campo della data conteneva dati ma semplicemente non rientrava nell'intervallo. Non pensavo di aggiungere un assegno nullo lì! Ahia! – Damien