Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Controllo query SQL

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    166

    Controllo query SQL

    Ciao a tutti,
    in SQLite ho una query che mi dà filo da torcere.
    Qualcuno esperto potrebbe darmici un'occhiata?

    io non riesco a trovare l'errore.

    mi dice campo totale sconosciuto, quindi l'errore è nel blocco
    (SELECT SUM (importo*ordini_dettaglio.qta) AS 'totale' FROM ordini_dettaglio LEFT JOIN articoli ON articoli._id = ordini_dettaglio.id_articolo)
    se sostituisco questo blocco con una stringa costante es. "1234 AS totale" funziona

    le tabelle sono sempre indicate prima dei nomi dei campi quindi la struttura si deduce bene

    query:

    Codice PHP:
    SELECT ordini_testata._idordini_testata.dataordini_testata.id_agente
    (
    SELECT SUM (importo*ordini_dettaglio.qta) AS totale  FROM ordini_dettaglio LEFT JOIN articoli ON articoli._id ordini_dettaglio.id_articolo)  FROM ordini_testata LEFT JOIN ordini_dettaglio ON ordini_testata._id ordini_dettaglio.id_ordine LEFT JOIN articoli ON articoli._id ordini_dettaglio.id_articolo WHERE ordini_testata.id_cliente '1' GROUP BY ordini_testata._id 
    Grazie a chi potrà rispondermi

  2. #2
    prova a qualificare anche importo anteponendo il nome della tabella

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    166
    Ho risolto l'errore di sintassi, credo rimanga un problema di logica nella query ma questa è altra cosa.
    Grazie lo stesso a tutti

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    166
    l'alias va in fondo al select sum

  6. #6
    Utente di HTML.it L'avatar di Einsteioe
    Registrato dal
    Dec 2016
    residenza
    Mahdia
    Messaggi
    2
    Non so come risolvere questo problema

  7. #7
    Quote Originariamente inviata da Einsteioe Visualizza il messaggio
    Non so come risolvere questo problema
    quale?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    166
    soluzione
    SELECT ordini_testata._id, ordini_testata.data, ordini_testata.id_agente, (SELECT SUM (importo*ordini_dettaglio.qta) FROM ordini_dettaglio LEFT JOIN articoli ON articoli._id = ordini_dettaglio.id_articolo GROUP BY ordini_dettaglio.id_ordine) AS totale FROM ordini_testata LEFT JOIN ordini_dettaglio ON ordini_testata._id = ordini_dettaglio.id_ordine LEFT JOIN articoli ON articoli._id = ordini_dettaglio.id_articolo WHERE ordini_testata.id_cliente = '2' GROUP BY ordini_testata._id

  9. #9
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da artex Visualizza il messaggio
    soluzione ........
    Secondo me ci sono ancora dei problemi

    Quote Originariamente inviata da artex Visualizza il messaggio
    ................
    (
    SELECT SUM (importo*ordini_dettaglio.qta)
    FROM
    ordini_dettaglio
    LEFT JOIN
    articoli
    ON
    articoli._id = ordini_dettaglio.id_articolo
    GROUP BY
    ordini_dettaglio.id_ordine
    ) AS totale
    FROM
    ....................
    Premesso che non hai qualificato il campo "importo" come ti era stato consigliato ......
    ma immaginiamo che appartenga alla tabella "articoli" come è immaginabile che sia



    quella SottoQuery ti restituisce un record per ogni "ordini_dettaglio.id_ordine"
    quindi ho dei dubbi .........

    .
    Ultima modifica di nman; 18-12-2016 a 18:30

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    166
    tipo?
    quale problema c'é secondo te?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.