Visualizzazione dei risultati da 1 a 5 su 5

Discussione: SQL

  1. #1
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214

    SQL

    Salve ho un problema a fare una query....
    Ho un tabella ordini formata dalle colonne
    ID_Cliente ID_fornitore data_ordine
    vorrei selezionare tutti i clienti al quale non è stato ordinato tutto dai fornitori

    es:

    codice:
    ID_Clienti  | ID_fornitore  | data_ordine
        1       |       3       | 24/10/2005
        1       |       6       |
        2       |       1       | 23/10/2005
        2       |       3       | 24/10/2005
        3       |       2       |
    vorrei ke mi visualizzasse solo l'ID_cliente 1 e 3 xké al cliente 2 è stata ordinata tutta la merce.

    io ho fatto qlk ma mi da errore...questo è quello ke ho scritto

    Select ID_Cliente from ordini where ((Select count(*) from ordini where data_ordine<>"" group by ID_Cliente)<>(Select count(*) from ordini group by ID_Cliente))

    ma logicamente le 2 select producono delle tabelle ke non so comparare i valori uno x uno.

    Mi potreste dare una mano, se vi può essere utile uso MySQL?

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    hai già provato con:
    codice:
    SELECT ID_Cliente FROM ordini WHERE data_ordine != ''
    ??


    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214
    si ma mi restituisce solo il record dove manca l'ordinazione, io voglio anke le ordinazioni già fatte del cliente ke bisogna completare.

    cioè mi dovrebbe restituire

    codice:
    ID_Clienti  | ID_fornitore  | data_ordine
        1       |       3       | 24/10/2005
        1       |       6       |
        3       |       2       |

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova così:
    codice:
    SELECT t1.id_Clienti, t1.data_ordine FROM ordini AS t1
    INNER JOIN ordini AS t2 ON t1.id_Clienti = t2.id_Clienti
    WHERE t2.data_ordine IS NULL
    oppure:
    [code]
    codice:
    SELECT t1.id_Clienti, t1.data_ordine FROM ordini AS t1
    INNER JOIN ordini AS t2 ON t1.id_Clienti = t2.id_Clienti
    WHERE t2.data_ordine = ''


    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214
    grazie

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.