Hai bisogno di aiuto per scrivere query SQL che coinvolgono più filtri sullo stesso campo di una tabella.Query SQL per ottenere genitore (lavoro) che non ha figli specificati (stato)
Ho 2 tabelle come mostrato di seguito.
Job
tavolo:
ID JobId Name StartTime FinishTime
01 001 A 2105:12:10 14:00:00 2105:12:10 14:00:10
02 002 A 2105:12:10 14:00:00 2105:12:10 14:00:00
03 003 A 2105:12:10 14:00:00 2105:12:10 14:00:00
04 004 A 2105:12:10 14:00:00 2105:12:10 14:00:00
e
Status
tavolo:
ID Status Timestamp JobId
01 Started 2105:12:10 14:00:00 001
02 Step_1_Started 2105:12:10 14:00:00 001
03 Step_1_Finished 2105:12:10 14:00:05 001
04 Step_2_Started 2105:12:10 14:00:05 001
05 Step_2_Finished 2105:12:10 14:00:10 001
06 Finished 2105:12:10 14:00:10 001
........................................................
07 Started 2105:12:10 14:00:00 002
08 Step_1_Started 2105:12:10 14:00:00 002
09 Step_1_Failed 2105:12:10 14:00:02 002
........................................................
10 Started 2105:12:10 14:00:00 003
11 Step_1_Started 2105:12:10 14:00:00 003
12 Step_1_Failed 2105:12:10 14:00:02 003
13 Step_1_Canceled 2105:12:10 14:00:04 003
........................................................
14 Started 2105:12:10 14:00:00 004
15 Step_1_Started 2105:12:10 14:00:00 004
Da queste 2 tabelle devo interrogare per i lavori che hanno stati finiti, annullato, fallito e attivo dove
- FINITO: un processo con stato 'Finito'.
- ANNULLATO: un processo con stato '% annullato' ma non ('Fine').
- FAILED: un processo con stato '% non riuscito' ma non ('% annullato' o 'terminato').
- Attivo: un processo con stato '% avviato' ma non ('% non riuscito' o '% annullato' o 'finito').
Ho la seguente query SQL per Finished
che funziona bene
SELECT
j.jobid
FROM
Job j
JOIN
status js ON j.jobid = js.jobid
WHERE
j.startTime >= '2015:12:10'
AND j.startTtime < '2015:12:20'
AND js.status = 'Finished';
Hai bisogno di aiuto per altre query.
risultato atteso:
FINISHED: 001
CANCELED: 003
FAILED: 002
Active: 004
Grazie in anticipo.
Oracle o mysql? Questi sono due prodotti diversi. Cosa hai fatto fino ad ora? – Shadow
usa nested select può aiutarti a provarlo? –
Non voglio query specifiche per database, quindi ho aggiunto Oracle e mysql. – jitk