2013-04-02 19 views
5

Ho bisogno di interrogare un database che contiene i nomi delle società. Ho una lista di circa 50 nomi, per i quali devo ottenere i dati. Ma non riesco a scrivere una query usando in comando come spazi in un nome che non vengono riconosciuti. exSpazio all'interno dei simboli letterali

select from sales where name in (`Coca Cola, `Pepsi) 

Questo mi dà un errore poiché "Cola" non viene riconosciuto. C'è un modo per scrivere una tale domanda?

risposta

3

Gli spazi tra le stringhe causano l'interprete a confondersi. `$() Lancia l'elenco di caratteri in simboli.

q)t:([] a:1 2 3; name:`$("coca cola";"pepsi";"milk")) 

q)select from t where name in `$("coca cola";"pepsi") 
a name 
----------- 
1 coca cola 
2 pepsi 

Si consiglia inoltre di fare attenzione di carcassa e usare sia costantemente inferiori o maiuscole altra cosa che potrebbe causare inaspettati risultati vuoti:

q)select from t where name in `$("Coca Cola";"Pepsi") 
a name 
------ 

q)select from t where upper[name] in upper `$("Coca Cola";"Pepsi") 
a name 
----------- 
1 coca cola 
2 pepsi 
+0

Grazie mille, questo ha funzionato – Mancunia89

0

Hai bisogno di fare qualcosa di simile al seguente:

select from sales where name in `$("Coca Cola";"Pepsi") 
+0

Grazie per il suggerimento, ho provato ad utilizzare questo, esso doesn non dare alcun errore, ma la query restituisce zero risultati, mentre so che ci sono voci nel database. – Mancunia89

+0

di che tipo è la colonna del nome? – user1895961

Problemi correlati