PDA

Visualizza la versione completa : Funzione Where


filpi17
31-01-2009, 17:16
salve

sto cercando di eseguire questa query in mysql

CREATE VIEW ter_content AS
SELECT * FROM tab_content WHERE id='51', AND catid= '130', AND catid= '131', AND catid= '132', AND catid= '64', AND catid= '70', AND catid= '123', AND catid= '126';

solamente che quando mi crea la tabella VIEW mi mostra solamente il primo id (51) e non tutti gli altri

dove sbaglio??

grazie
salve :)

YuYevon
31-01-2009, 17:53
Non ho mai usato mysql come DBMS (almeno per ora) ma sei sicuro che tra le varie condizioni AND ci vanno le virgole? In Oracle non cos ma magari il dialetto sql di mysql diverso, anche se in questo caso mi sembra strano...

Comunque non sarebbe male conoscere come fatta la tabella... (la chiave "id" ?)

Ah... WHERE comunque non una funzione :)

comas17
31-01-2009, 23:03
Ci sono varie cose che non mi tornano...
Il campo ID numerico o di tipo stringa (char, varchar, etc) ? Penso sia numerico...
Se numerico non ci vanno gli apici (select * from tabella where id = 51)
Se stringa invece ci vanno (select * from tabella where id = '51')

In ogni caso non ci vanno le virgole tra un AND e l'altro (come gi detto da YuYevon)

Infine (ma questo un suggerimento, non una correzione) nei casi come questo, in cui si vuole confrontare un campo (ID) con vari possibili valori, senza dubbio meglio scrivere

select * from tabella where id IN (51,130,131,132...etc)

filpi17
01-02-2009, 10:44
ciao

grazie mille

ha funzionato

select * from tabella where id IN (51,130,131,132...etc)

grazie ancora :D :D :D

Loading