Visualizzazione dei risultati da 1 a 4 su 4

Discussione: ricerca "cloni"

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274

    ricerca "cloni"

    Salve, ho un piccolo problema con questa query:

    $mysql->query("SELECT uid, DATE_FORMAT(date, '%e %M %Y') AS `cdate`, addr, users.username, users.email
    FROM `seen`
    LEFT JOIN `users` ON users.id = seen.uid
    WHERE addr = ANY (
    SELECT s.addr
    FROM `seen` AS `s`
    WHERE `addr` <> ''
    GROUP BY `addr`
    HAVING COUNT(`addr`) > 1)
    ORDER BY `addr`, `username` ASC ");
    questa query ricerca all'interno di una tabella tutti i record che hanno lo stesso valore del campo addr (e fa una left join per ottenere gli username).

    ora vorrei aggiungere una condizione, deve selezionare solo i record che hanno oltre allo stesso valore del campo addr, anche lo stesso valore per il campo date.
    qualcuno ha idea di come sistemare la query? ho fatto un paio di prove nel where all'interno dello statement ANY ma va in loop
    Progeny

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    aggiungi un altro ANY su un'altra subquery e legala con AND alla WHERE

    In questo momento non riesco a trovare un modo più furbo per fare il tutto, anche se ho la sensazione che ci sia... :master:

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    mhmmm cosi' pare quasi che vada in loop

    $mysql->query("SELECT uid, DATE_FORMAT(date, '%e %M %Y') AS `cdate`, addr, users.username, users.email
    FROM `seen`
    LEFT JOIN `users` ON users.id = seen.uid
    WHERE addr = ANY (
    SELECT s.addr
    FROM `seen` AS `s`
    WHERE `addr` <> ''
    AND date = ANY (SELECT c.date FROM seen AS `c` WHERE c.uid = s.uid)
    GROUP BY `addr`
    HAVING COUNT(`addr`) > 1)
    ORDER BY `addr`, `username` ASC ");
    Progeny

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non intendevo di nidificare le subquery.
    Intendevo semplicemente di aggiungerne una in fondo.

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.