Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1

    Query mysql eliminare i duplicati

    Salve a tutti penso di commettere un banale errore di sintassi in questa query.
    Ho una tabella MYSQL fatta in questo modo che si chiama SERVIZI:

    ID_CLIENTE (KEY)
    TIPO_SERVIZIO
    COSTO
    DATA (KEY)
    ORA (KEY)

    Mentre ho un altra tabella molto simile chiamata acquisti:
    ID_CLIENTE (KEY)
    PRODOTTO
    COSTO
    DATA (KEY)
    ORA (KEY)

    Vorrei estrarre da una e dall'altra tabella il numero di passaggi giornalieri dei clienti:
    un cliente puo' essere registrato perche ha effettuato un servizio, perchè ha acquistato un prodotto o perchè ha effettuato entrambi.

    Con la query:
    Codice PHP:
    SELECT count(DISTINCT data,ora) AS tot_passaggi FROM servizi WHERE data '$datai' AND data '$dataf' GROUP BY id_cliente ORDER BY count(*) DESC,SUM(costoDESC 
    Prelevo i passaggi dei clienti che hanno effettuato un servizio tra due date fissate $datai e $dataf.
    Stessa cosa per gli acquisti:

    Codice PHP:
    SELECT count(DISTINCT data,ora) AS tot_passaggi FROM acquisti WHERE data '$datai' AND data '$dataf' GROUP BY id_cliente ORDER BY count(*) DESC,SUM(costoDESC 
    Il problema sorge quando un cliente ha effettuato sia un acquisto e contemporaneamente un servizio. Effettuando la somma delle due query precedenti il risultato sarebbe falsato poichè mi darebbe 2 passaggi quando un cliente ne ha effettuato 1. Ho pensato di sottrarre alla somma delle due query il risultato di questa query (ossia tutti i clienti che hanno effettuato un acquisto e contemporaneamente un servizio in modo da ottenere il risultato esatto)

    Codice PHP:
    mysql_num_rows(mysql_query("SELECT id_cliente, data AS d, ora AS o FROM acquisti WHERE data > '$datai' AND data < '$dataf' AND id_cliente IN (SELECT id_cliente FROM servizi WHERE data = 'd' AND ora = 'o')")) 
    Tuttavia penso di commettere qualche errore di sintassi poichè il risultato è sempre 0.
    Grazie
    Ultima modifica di theboss280489; 28-01-2014 a 20:24

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.