Buenos días. Necesito ayuda con una consulta que me tiene loco, no se si esta de forma correcta así o si hay formas mejores.
Tengo dos tablas una tabla llamada
articulos y otra tabla llamada
tiendas_articulos cuya estructura, simplificando, seria algo asi
ARTICULOS
TIENDAS_ARTICULOS
- TiendaID
- ArticuloID
- Precio
Bien pues yo quiero hacer un select de X articulos. En el cual
{tienda} es la tienda preferida, si el articulo existe en esa tienda, me mostrara el precio en el que se encuentra en esta tienda en concreto. Si no existe en {tienda} quiero que me devuelva el precio de cualquier otra tienda. Tengo hecho esto
Código SQL:
Ver originalSELECT articulos.Nombre,TiendaID,Precio
FROM articulos JOIN tiendas_articulos ON ( articulos.ID = tiendas_articulos.ArticuloID AND ( TiendaID = {tienda}OR TiendaID != {tienda} ) )
WHERE articulos.ID = {articulo}
Ahora bien, en las pruebas que he hecho funciona medianamente bien, pero no se si es solo casualidad o he de hacer la consulta de otra manera. ¿Hay alguna otra forma que funcione o es esta forma la correcta? Un saludo y muchas gracias