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

    Doppia WHERE su stessa colonna

    Salve a tutti,
    in un database myswl ho una tabella (media_metadata) con i seguenti campi:
    id
    tag
    valore
    Ora io quando imposto una ricerca dovrei trovare i valori che corrispondono esattamente al criterio di ricerca nel campo valore.
    Mi spiego
    id tag valore
    1 A_69 08
    1 A_70 14
    2 A_69 08
    3 A_70 14
    Se io passo i valori 08 e 14 mi deve tirar fuori solo il record con id = 1 perchè è l'unico che soddisfa entrambi i parametri.
    Come faccio una query del genere.
    Grazie in anticipo
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    la WHERE va in AND, mentre la SELECT sarà DISTINCT

  3. #3
    Ho provato così:
    "SELECT DISTINCT id FROM media_metadata WHERE valore = '14' AND valore = '8'"
    In questa maniera non mi restituisce nessun risultato
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Però magari chiediamo nella sezione Database visto che si parla di query.
    Sposto.

  5. #5
    scusa, OR... una colonna NON può assumere contemporaneamente due valori

  6. #6
    Si ho ma in questo caso mi fa vedere anche id 2 e id 3.
    Io come detto vorrei far vedere solo id 1
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  7. #7
    select t1.id from tabella t1 join tabella t2 on t1.id=t2.id where t1.valore=8 and t2.valore=14

  8. #8
    se i valori sono tre devi fare tre join etc etc

  9. #9
    Ok perfetto.
    Come faccio a creare la query in base ai dati passati?
    Ho provato in questa maniera ma se passo solo due dati non mi restituisce nulla:
    if ($A_70 <> "") {
    $queryRicercaMetaData = $queryRicercaMetaData . "select t1._id from media_metadata t1" ;
    }
    if ($A_69 <> "") {
    $queryRicercaMetaData = $queryRicercaMetaData . " join media_metadata t2 on t1._id=t2._id" ;
    }
    if ($A_77 <> "") {
    $queryRicercaMetaData = $queryRicercaMetaData . " join media_metadata t3 on t1._id=t3._id where " ;

    }
    if ($A_70 <> "") {
    $queryRicercaMetaData = $queryRicercaMetaData . " t1.valore='$A_69'" ;
    }
    if ($A_69 <> "") {
    $queryRicercaMetaData = $queryRicercaMetaData . " and t2.valore='$A_70'" ;
    }
    if ($A_77 <> "") {
    $queryRicercaMetaData = $queryRicercaMetaData . " and t3.valore='$A_77'" ;

    }

    Mi incasino dove ho sottolineato il codice
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

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.