- Home
- Categorie
- Coding e Sistemistica
- Coding
- E' possibile creare un ciclo interno a SQL?
-
E' possibile creare un ciclo interno a SQL?
Ciao,
la mia domanda centrale è: esiste il modo di creare un ciclo direttamente in linguaggio SQL senza far uso di linguaggi di programmazione?Il mio problema è che devo estrare una query da MySQL ma tra le varie clausule WHERE ho anche questa:
jos_sobi2_fields_data.itemid = (SELECT itemid FROM jos_sobi2_fields_data WHERE jos_sobi2_fields_data.data_txt = "ERRRA")e quello che è tra parentesi restituisce più di unr ecord, e infatti il PhpMyAdmin mi restituisce questo errore:
#1242 - Subquery returns more than 1 rowLa mia idea era quella di aggiunger eun LIMIT:
jos_sobi2_fields_data.itemid = (SELECT itemid FROM jos_sobi2_fields_data WHERE jos_sobi2_fields_data.data_txt = "ERRRA" LIMIT 0,1)
(così funziona)
e rendere dinamici i valori del LIMIT dentro un ciclo.. si può?Grazie infinite,
ciao
-
Ciao,
ho trovato la risposta: l'utilizzo di "ANY" davanti alla subquery
jos_sobi2_fields_data.itemid = ANY (SELECT itemid FROM jos_sobi2_fields_data WHERE jos_sobi2_fields_data.data_txt = "ERRRA")
Se servisse a qualcuno..!
ciauz!
-
Ciao delizard,
Così è più pulito:
jos_sobi2_fields_data.itemid IN (SELECT itemid FROM jos_sobi2_fields_data WHERE jos_sobi2_fields_data.data_txt = "ERRRA")"IN" è uguale a "= ANY"
-
Ok, grazie mille!
Direi che così è perfetto