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

    mysql, doppia condizione? col1 = col2 = 15

    semplice query:

    "SELECT * FROM t1,t2 WHERE t2.aid = t1.id = 15 LIMIT 1"


    non sembra funzionare.. sapete mica il perchè?

    dovrei scriverla cosi per farla funzionare:

    "SELECT * FROM t1,t2 WHERE t2.aid = 15 AND t1.id = 15 LIMIT 1"


    ma mi sembra più funzionale il primo metodo

  2. #2
    funzionale puo' essere diverso da funzionante. La prima e' sintatticamente errata e la seconda usa una join in forma theta senza riferimento tra tabelle ma ad un valore esterno. Il risultato non cambia in questo caso, ma non e' una relazione tra due tabelle unite da due campi in comune come si suppone sia una join, ma tra due campi con uno stesso valore esterno. In questo senso avrebbe piu' logica l'effettuare una UNION.

    usa inner join nella forma ansi, secondo me e' piu' chiaro e facilmente modificabile e sopratutto corretto.

    codice:
    SELECT * 
    FROM t1
    inner join t2 ON  t2.aid = t1.id 
    where t1.id = 15
    LIMIT 1

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.