Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446

    [mysql] seleziona parole che non sono presenti in un altra tabella

    Ho bisogno di elencare una serie di utenti (15 per la precisione). Ovviamente ho fatto una select con limit 0,15 solo che dovrei verificare che ciascuno di questi utenti non si trovi nella tabella utenti_bannati. Come faccio??

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select * from utenti as u
    left join bannati as b
    on u.id = b.id
    where b.id is null

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    non mi funziona...
    Io prima facevo questa select:

    codice:
    "SELECT nome, COUNT(ID)as num FROM utenti WHERE nome IS NOT NULL GROUP BY nomeORDER BY num DESC LIMIT 0,15"
    praticamente estraevo i primi dieci ordinandoli per numero di occorrenze (ovvero se nella tabella avevo 10 marco e 3 luca ecc... mettevo prima marco poi luca...)
    Ora devo aggiungere questa verifica: che gli stessi nomi non siano presenti nella tabella utenti_bannati. Devo estrarre ordinandoli per occorrenze ma assicurandomi che non siano presenti nell'altra tabella. In qualsiasi caso devo ottenere sempre 15 utenti

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    nessuno?

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Puoi usare le subquery?

    Che versione di mysql hai?

  6. #6
    Prerequisito: MySql 5.x
    Supponendo che sia (per esemplificare)
    Tabella Utenti:
    ID,
    nome,
    ecc...

    Tabella UtentiBannati
    ID (corrisponde a ID di Utenti)
    ...
    la query:
    codice:
    SELECT nome, COUNT(ID) as num  FROM `Utenti` where `ID` NOT  IN (SELECT `ID` from `UtentiBannati`) GROUP BY nome ORDER BY num DESC LIMIT 0,15
    Speriamo che sia giusto!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

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