Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. robce64
    3. Post
    R

    robce64

    @robce64

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 3
    • Post 7
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    Località rimini Età 60
    0
    Reputazione
    7
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User Newbie

    Post creati da robce64

    • RE: Istruzioni sql non riconosciute da mysql

      Scusate, ho trovato l'errore in una relazione errata delle tabelle.... ora funziona tutto l'sql e quindi con mysql è possibile realizzare funzioni INSERT che contengono subquery nidificate!

      postato in Coding
      R
      robce64
    • RE: Mysql funzione INSERT con subquery ramificata

      Scusate, ho trovato l'errore in una relazione errata delle tabelle.... ora funziona tutto l'sql e quindi con mysql è possibile realizzare funzioni INSERT che contengono subquery nidificate!

      postato in Coding
      R
      robce64
    • Mysql funzione INSERT con subquery ramificata

      Salve a tutti, premetto che non sono esperto di sql, stò realizzando un grosso database con mysql che collego a libreoffice, vi chiedo se qualcuno può gentilmente darmi una mano per un grosso problema che no riesco a risolvere.

      Io vorrei fare questo... semplificando il concetto, ho due tabelle:

      CORSO_SCOLASTICO_ALUNNO

      con i seguenti campi

      id_corso_scolastico (chiave primaria autoincrementante)
      id_alunno
      id_data_anno
      Classe
      Sezione

      SCRUTINI

      con questi campi:

      id_scrutinio (chiave primaria)
      id_corso_scolastico
      promosso
      data_scrutinio

      Io vorrei dare una istruzione dove mi si vada cercare nella tabella SCRUTINI gli id_anno_scolastico che hanno l'anno della data_scrutinio uguale all'anno corrente, tra questi chi nel campo promosso ha valore "si" ed infine chi tra questi ha il valore della Classe < di 3, quindi inserire gli id_alunno relativi ad ogni corso scolastico trovato, nella tabella CORSO SCOLASTICO ALUNNO, oltre all'id_alunno mi dovrà anche inserire l'id_data_anno aumentato di 1, la Classe aumentata di 1 e la stessa Sezione.

      L'Sql che avevo provato io era questa:

      Codice: Seleziona tutto
      INSERT INTO corso_scolastico_alunno (id_alunno, id_data_anno, Classe, Sezione) SELECT id_alunno, id_data_anno+1, Classe+1, Sezione FROM corso_scolastico_alunno WHERE Classe < '3' AND id_alunno IN (SELECT id_corso_scolastico FROM scrutini WHERE promosso = 'si' AND id_data_anno IN (SELECT id_data_anno FROM date_anni WHERE YEAR( data_scrutinio ) = YEAR( CURRENT_DATE )))

      però non mi funziona... ma io in sql non sono tanto esperto... c'è qualche anima buona che mi può aiutare? Se riesco a risolvere questo problema mi si spianerebbe di parecchio la strada per il database che stò realizzando....
      Se non si capisse da quello che ho messo sopra, detto in parole povere io vorrei fare la ricerca di chi ha dato l'esame nell'anno corrente, poi trovare chi è stato promosso e tra tutti questi chi faceva la prima e la seconda classe, poi questi valori andrebbero a popolare la tabella del corso scolastico relativo all'anno prossimo (ecco perchè andrebbe messo id_data_anno +1), con il valore della Classe aumentato di uno (se faceva la 1 andra in 2 ecco perchè Classe +1) mentre la sezione sara riportata pari pari (se faceva la sezione A farà ancora la sezione A)
      In pratica se un Alunno nel 2013 fa il corso scolastico con classe 1, sezione C, se verrà promosso il corso scolastico l'anno prossimo dovrà riportare anno 2014, classe 2, sezione C.
      Linserimento dei nuovi corsi per i promossi dovranno riguardare chiaramente le classi 1 e 2 perchè i promossi delle classi 3 non faranno più la scuola media e quindi nessun nuovo corso scolastico ma andranno alle superiori.

      Riuscite a darmi una mano in questa cosa? Pleaseeeee

      postato in Coding
      R
      robce64
    • RE: Istruzioni sql non riconosciute da mysql

      Allora, seguendo il suggerimento di thedarkita sono riuscito a fare eseguire l'istruzione, però i dati nella tabella non sono stati inseriti :mmm: .... forse mysql non elabora per la funzione INSERT INTO subquery annidate?
      Io vorrei fare questo... semplificando il concetto, ho due tabelle:

      CORSO_SCOLASTICO_ALUNNO

      con i seguenti campi

      id_corso_scolastico (chiave primaria autoincrementante)
      id_alunno
      id_data_anno
      Classe
      Sezione

      SCRUTINI

      con questi campi:

      id_scrutinio (chiave primaria)
      id_corso_scolastico
      promosso
      data_scrutinio

      Io vorrei dare una istruzione dove mi si vada cercare nella tabella SCRUTINI gli id_anno_scolastico che hanno l'anno della data_scrutinio uguale all'anno corrente, tra questi chi nel campo promosso ha valore "si" ed infine chi tra questi ha il valore della Classe < di 3, quindi inserire gli id_alunno relativi ad ogni corso scolastico trovato, nella tabella CORSO SCOLASTICO ALUNNO, oltre all'id_alunno mi dovrà anche inserire l'id_data_anno aumentato di 1, la Classe aumentata di 1 e la stessa Sezione.

      L'Sql che avevo provato io era questo:

      INSERT INTO corso_scolastico_alunno (id_alunno, id_data_anno, Classe, Sezione) SELECT id_alunno, id_data_anno+1, Classe+1, Sezione FROM corso_scolastico_alunno WHERE Classe < '3' AND id_alunno IN (SELECT id_corso_scolastico FROM scrutini WHERE promosso = 'si' AND id_data_anno IN (SELECT id_data_anno FROM date_anni WHERE YEAR( data_scrutinio ) = YEAR( CURRENT_DATE )))

      però non mi funziona... ma io in sql non sono tanto esperto... c'è qualche anima buona che mi può aiutare? Se riesco a risolvere questo problema mi si spianerebbe di parecchio la strada per il database che stò realizzando....
      Se non si capisse da quello che ho messo sopra, detto in parole povere io vorrei fare la ricerca di chi ha dato l'esame nell'anno corrente, poi trovare chi è stato promosso e tra tutti questi chi faceva la prima e la seconda classe, poi questi valori andrebbero a popolare la tabella del corso scolastico relativo all'anno prossimo (ecco perchè andrebbe messo id_data_anno +1), con il valore della Classe aumentato di uno (se faceva la 1 andra in 2 ecco perchè Classe +1) mentre la sezione sara riportata pari pari (se faceva la sezione A farà ancora la sezione A)
      In pratica se un Alunno nel 2013 fa il corso scolastico con classe 1, sezione C, se verrà promosso il corso scolastico l'anno prossimo dovrà riportare anno 2014, classe 2, sezione C.
      Linserimento dei nuovi corsi per i promossi dovranno riguardare chiaramente le classi 1 e 2 perchè i promossi delle classi 3 non faranno più la scuola media e quindi nessun nuovo corso scolastico ma andranno alle superiori.

      Riuscite a darmi una mano in questa cosa? Pleaseeeee 🙂

      postato in Coding
      R
      robce64
    • RE: Istruzioni sql non riconosciute da mysql

      ah...grazie... adesso provo come mi hai indicato...

      postato in Coding
      R
      robce64
    • Istruzioni sql non riconosciute da mysql

      Salve a tutti, premetto che sono novizio di sql, mysql, ecc.. stò realizzando un database scolastico con mysql che gestisco tramite libreoffice, il problema che mi è sorto è nell'aggiornare, tramite una serie di istruzioni sql, una tabella che ho definito CORSO SCOLASTICO ALUNNO con i dati dei ragazzi promossi nell'ultimo anno , non mi dilungo su questi particolari, vorrei solo sapere da qualche esperto di mysql se nella istruzione che ho scritto c'è qualcosa di incompatibile con mysql, in quanto se lancio l'istruzione su un database creato da zero con libreoffice tutto funziona, ma se la lancio sul database che mi comunica con mysql mi dà questo errore 1: [MySQL][ODBC 5.2(a) Driver][mysqld-5.5.27-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"corso_scolastico_alunno" ("id_alunno", "id_data_anno", "Classe", "Sezione") SEL' at line 1

      Le istruzioni che voglio dare sono queste:

      INSERT INTO "corso_scolastico_alunno" ("id_alunno", "id_data_anno", "Classe", "Sezione") SELECT "id_alunno", "id_data_anno"+1, "Classe"+1, "Sezione" FROM "corso_scolastico_alunno" WHERE "Classe" < '3' AND "id_alunno" IN (SELECT "id_corso_scolastico_alunno" FROM "scrutini" WHERE "promosso" = TRUE AND "id_data_anno" IN (SELECT "id_data_anno" FROM "date_anni" WHERE YEAR("data_2quad") = YEAR( CURRENT_DATE )))

      C'è per caso qualcosa di scorretto nella sintassi? mi potete dare una mano magari correggendo l'errore che ho fatto?

      Altra cosa, queste istruzioni sql le devo poi inglobare in un codice macro che collegherò ad una azione di un pulsante in un formulario per attivare l'istruzione sql.... la macro è questa:

      Sub INSERT (oEvent As Object) 'Button > Execute > event
      oForm = oEvent.Source.Model.Parent 'MainForm from Button
      oStatement = oForm.ActiveConnection.createStatement() 'Create an SQL statement object
      sSQL = "INSERT INTO ""corso_scolastico_alunno"" (""id_alunno"", ""id_data_anno"", ""Classe"", ""Sezione"") SELECT ""id_alunno"", ""id_data_anno""+1, ""Classe""+1, ""Sezione"" FROM ""corso_scolastico_alunno"" WHERE ""Classe"" < '3' AND ""id_alunno"" IN (SELECT ""id_corso_scolastico_alunno"" FROM ""scrutini"" WHERE ""promosso"" = TRUE AND ""id_data_anno"" IN (SELECT ""id_data_anno"" FROM ""date_anni"" WHERE YEAR( ""data_2quad"" ) = YEAR( CURRENT_DATE )))"
      oStatement.executeUpdate( sSQL ) 'Execute the SQL command
      oForm.reload
      End Sub

      Come vedete ho usato la doppia virgolettatura e su database interamente fatto con libreoffice funziona.... dovrei usare la doppia virgolettatura anche su database collegato a mysql?

      Grazie...spero tanto di trovare qualcuno che può aiutarmi....:(

      postato in Coding
      R
      robce64
    • Un saluto a tutti!

      Ciao sono Roberto, mi sono appena unito a voi!

      postato in Presentati alla Community
      R
      robce64