sentencia SQL

W

porque cajones me dice: no coinciden los tipos de datos en la expresión del criterio.

la sentencia es esta:

SELECT IdCategoría
FROM Productos
WHERE IdCategoría="Bebidas"
ORDER BY PrecioUnidad DESC;

haber si me podéis echar un cable.

un saludo

Soltrac

primero, idcategoria es texto? pq si no lo es, no tiene sentido

En el supuesto de q fuera texto, pon

idcategoria LIKE 'Bebidas' o tb = 'Bebidas' pero comillas simples :)

W

haber IdCategoría es una columna. Y lo que yo quiero es que se quede con Bebidas (que es un texto y por eso esta entre comillas) por lo tanto que sea =, pero me da el error ese

Dod-Evers

en el select tienes que poner también la columna por la que haces el group by

select el1, el2
from t1
where el1='bebidas'
group by el2 desc|asc

PD: supongo que haber = a ver

Dod-Evers

di si te sale así, que me tengo que ir.

Soltrac

#4 es un order by, no un group by, no mezcles churras con meninas

#3 claro q se q es una columna tío, no me subestimes. Solo te digo que que tipo tiene la columna, que al llamarse idcategoria tiene toda la pinta de ser una columna de enteros y no de texto, pero bueno q si es de textos, tal y como te he dicho tiene que funcionar, es decir, que cambies las comillas dobles ("") por comillas simples ('')

Más claro, que cambies:

SELECT IdCategoría
FROM Productos
WHERE IdCategoría="Bebidas"
ORDER BY PrecioUnidad DESC;

por

SELECT IdCategoría
FROM Productos
WHERE IdCategoría LIKE 'Bebidas'
ORDER BY PrecioUnidad DESC;

W

no necesitar la clausula group by (a le mejor as querido decir order by) lo tengo como tu as dicho excepto por que en la select no tengo el2 (como lo as llamado) por que no necesito que se muestre, (solo quiero que se muestre el1 o como yo lo tengo IdCategorías)

EDITO: #6 del modo que dices no me muestra nada (ejecuta la sentencia pero con una casilla vacía llamada categoría)
yo esque estoy seguro de que como digo yo debería funcionar, peor bueno gracias de todos modos.

un dato mas esque estoy usando access (por eso cuando hago lo que dices #6 no me reconoce las camillas simples, también lo e probado con las dobles)

bueno un saludo

Miminh0

yo es ke todavia no he entendido ke es lo ke kieres mostrar en la select, explikate mejor y te intento ayudar :)

HuNtR

Poniendo el Bebidas con entrecomillado simple deberia funcionar sin problemas. A parte de eso, asegurate de que los nombres tanto de la colomna como de la tabla estan bien.

W

que quiere decir exactamente?:

no coinciden los tipos de datos en la expresión del criterio

he echo esto ahora (da el mismo mensaje de error) por que lo que quiero mostrar son los productos cucha categoría es Bebidas

SELECT NombreProducto
FROM Productos
WHERE IdCategoría="Bebidas"
ORDER BY PrecioUnidad DESC;

ElRuso

No se pq pero estoy convencido de que IdCategoria es de tipo integer y no text/blob.

Y otra cosa, no uses acentos (y otros simbolos "raros") en nombre de las columnas/tablas/etc.

W

creo que te podrian ayudar mas si pones como es la tabla

yo creo que tambien tienes un Integer y por eso no te lo coje.

Que tienes en la tabla esto?

IDcategoria
nombre_categoria

porque si es asi entonces deberas hacer el

WHERE nombre_categoria='Bebidas'

Miminh0

komo bien te decian arriba la comparacion con varchar y parece ke por lo ke dices es varchar ( aunke es raro ke pongas un varchar con nombre de campo id... ) la comparacion seria kon LIKE no kon dsadsa='dsadsa'

Usuarios habituales