Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535

    [SQL] Estrazione dati che hanno un determinato campo almeno due volte in tabella

    Ciao a tutti,
    quale comando sql si utilizza per ricercare, all'interno di una tabella, record che hanno un determinato campo
    che esiste almeno due volte in tabella???

    Es:
    Tabella BANCOMAT

    estrarre da tale tabella solo i record che hanno campo cliente presente per almeno due volte in tabella.

    Risultato: estrazione di tutti clienti che possiedono almeno due bancomat.


    Grazie,

  2. #2
    prova a postare la struttura della tabella e i campi che devi estrarre con la select.
    xxx

  3. #3
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da Alethesnake
    prova a postare la struttura della tabella e i campi che devi estrarre con la select.
    select cliente, codice_bancomat from bancomat
    where ...... condizione dove il cliente è presente due volte in tabella.

    Devo estrarre tutti i cli che hanno almeno due carte

  4. #4
    prova così



    select nome,count(nome) as instance from Bancomat
    group by nome
    having instance=2

    Ciao
    TonyTalk
    Gioca a The Empire Multiplayer online game...ispirato a Risiko ma con scenari ed opzioni rivoluzionarie
    http://www.multiplayergames.it
    http://utenti.lycos.it/the_empire

  5. #5
    se il codice_bancomat è univoco come immagino non mi viene in mente nulla di meglio di questo:
    codice:
    SELECT codice_bancomat, cliente
    FROM tabella1 AS t
    WHERE (SELECT COUNT(codice_bancomat) FROM tabella1 WHERE cliente=t.cliente)>=2
    vedi se può andare
    xxx

  6. #6
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da Alethesnake
    se il codice_bancomat è univoco come immagino non mi viene in mente nulla di meglio di questo:
    codice:
    SELECT codice_bancomat, cliente
    FROM tabella1 AS t
    WHERE (SELECT COUNT(codice_bancomat) FROM tabella1 WHERE cliente=t.cliente)>=2
    vedi se può andare

    Sull'AS :
    ORA - 00933 ; sql command not propely ended

  7. #7
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da tonytalk
    prova così



    select nome,count(nome) as instance from Bancomat
    group by nome
    having instance=2

    Ciao

    su INSTANCE :
    ora- 00904 : invalid column name

  8. #8
    Originariamente inviato da Elena78
    Sull'AS :
    ORA - 00933 ; sql command not propely ended
    non sapevo che stavi lavorando su oracle. togli gli AS:
    codice:
    SELECT codice_bancomat, cliente
    FROM tabella1 t
    WHERE (SELECT COUNT(codice_bancomat) FROM tabella1 WHERE cliente=t.cliente)>=2
    xxx

  9. #9
    Guarda ho provato questa edovrebbe andare

    SELECT descrizione, Count(descrizione) AS ConteggioDidescrizione
    FROM AnagraficaCorso
    GROUP BY descrizione
    HAVING Count(descrizione)=2;

    quindi basta correggere l'having

    Ciao
    TonyTalk
    Gioca a The Empire Multiplayer online game...ispirato a Risiko ma con scenari ed opzioni rivoluzionarie
    http://www.multiplayergames.it
    http://utenti.lycos.it/the_empire

  10. #10
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da Alethesnake
    non sapevo che stavi lavorando su oracle. togli gli AS:
    codice:
    SELECT codice_bancomat, cliente
    FROM tabella1 t
    WHERE (SELECT COUNT(codice_bancomat) FROM tabella1 WHERE cliente=t.cliente)>=2
    :gli as no in oracle! 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.