Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [MySQL] RISULTATO IMPOSSIBILE IN COMANDO SELECT

    Salve a tutti spiego subito il mio problema....
    In una select devo selezionare marca e nazione di provenienza del brand che si trovasu un database e contare i prodotti della marca che ho su altre tabelle. Premetto che per adesso ho solo un brand con 28 articoli.
    Quando vado ad eseguire la seguente query:

    codice:
    SELECT user.marca AS marca, user.nazione AS nazione,  
    COUNT(DISTINCT differenziale.marca)+  
    COUNT(DISTINCT freni.marca)+
     COUNT(DISTINCT frizione.marca)+ 
    COUNT(DISTINCT modifiche.marca)+ 
    COUNT(DISTINCT sospensioni.marca)AS tot 
    FROM user, differenziale,freni,frizione,modifiche,sospensioni 
    WHERE user.marca IS NOT NULL 
    AND user.nick !='$nick' 
    AND differenziale.marca = user.marca 
    AND freni.marca = user.marca 
    AND frizione.marca = user.marca 
    AND modifiche.marca = user.marca 
    AND sospensioni.marca = user.marca ORDER BY user.marca ASC
    mi da tot = 5 ed il motivo mi è chiaro....
    Ma quando lo vado a fare SENZA DISTINCT mi da oltre 5000 articoli e ribadisco che ne ho solo 28. QUalcuno sa spiegarmi perchè??????? E correggere l'errore?
    Why so serious?????

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    363
    Sembra che ti scappi un qualche prodotto cartesiano: controlla meglio i join (e magari cambia anche la sintassi, che scritti così non si possono proprio vedere....) ;-)

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.