Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [MYSQL] problema query

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    56

    [MYSQL] problema query

    ciao a tutti e grazie in anticipo per l'aiuto che contribuisce a dare questa comunità

    vi espongo il mio problema. Ho queste 2 tabelle:

    annuncio
    ========
    id_annuncio
    titolo
    qta
    prezzo
    ...

    annuncio_acquisto
    ==================
    id_annuncio_acquisto
    id_annuncio
    id_utente
    qta
    ...


    ho bisogno di fare una query che mi restituisca qualcosa di questo tipo:

    annuncio.id_annuncio
    annuncio.titolo
    annuncio.prezzo
    annuncio.prezzo - (MENO) tutte le QTA presenti in annuncio_acquisto con lo stesso id_annuncio

    chiaramente un record per ogni annuncio

    ho fatto delle prove con scarso risultato.. e ho pensato di chiedere consiglio a qualcuno piu' esperto.

    in ogni caso, grazie ancora per il tempo che mi dedicherete

    buonaserata a tutti!
    Andrea

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    23
    select annuncio.id_acquisto,annuncio.titolo,annuncio.prez zo,annuncio.prezzo-sum(annuncio_acquisto.qta) from annuncio left join annuncio_acquisto on annuncio_acquisto.id_annuncio=annuncio.id_annuncio group by id_annuncio

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    56
    grazie della risposta, ma non funziona:

    la query restituisce i giusti elementi ma sbaglia a mettere le QTA;
    inoltre se nella tabella "annunco_acquisto" non ci sono record relativi a quell' articolo imposta NULL come QTA

    grazie ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    codice:
    select 
    annuncio.id_acquisto,
    annuncio.titolo,
    annuncio.prezzo,
    annuncio.prezzo-(select sum(annuncio_acquisto.qta) 
                    from annuncio_acquisto 
                    where annuncio_acquisto.id_annuncio=annuncio.id_annuncio) 
                    as ValoreVoluto
    from annuncio

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    56
    grazie mille è quasi perfetta

    è possibile fare in modo che, in caso che non ci siano record in ANNUNCIO_ACQUISTO, invece di QTA = NULL mi restituisce la quantità che trova in ANNUNCIO?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Originariamente inviato da icyz
    grazie mille è quasi perfetta

    è possibile fare in modo che, in caso che non ci siano record in ANNUNCIO_ACQUISTO, invece di QTA = NULL mi restituisce la quantità che trova in ANNUNCIO?
    non saprei nello specifico di MySql, ma certamente lo puoi fare controllando il valore ed usando

    case
    if

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    56
    codice:
    SELECT
    annuncio.titolo,
    annuncio.prezzo,
    annuncio.qta-(SELECT IFNULL(SUM(annuncio_acquisto.qta),0) 
                    FROM annuncio_acquisto 
                    WHERE annuncio_acquisto.id_annuncio=annuncio.id_annuncio) 
                    as qta
    FROM annuncio
    ecco la query finita con IFNULL, se a qualcuno servisse
    grazie a tutta la comunity !

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 © 2026 vBulletin Solutions, Inc. All rights reserved.