Problema: El procedimiento almacenado de Bigquery no filtra adecuadamente.
Pregunta
Estoy intentando usar un procedimiento almacenado para obtener algunos datos de mis clientes filtrando una tabla por fecha y canal de compra en una consulta que se ve algo así:
CREATE OR REPLACE PROCEDURE `sandbox.clients.dateandchannel`
(IN DT DATE,
IN CH STRING)
BEGIN
SELECT
client_id,
purchase_id,
purchase_date,
channel
FROM
`trusted-zone.clients_purchases`
WHERE
channel = CH
AND purchase_date = DT;
END
Después de ejecutar el procedimiento, uso la siguiente llamada:
CALL `sandbox.clients.dateandchannel`('2021-09-11','Ecommerce');
La llamada se ejecuta y devuelve una tabla, pero el resultado nunca se filtra.
Las fechas no corresponden a '2021-09-11' y el canal no corresponde a 'Ecommerce'
No entiendo si es un problema con la consulta, o si estoy haciendo algo conceptualmente incorrecto, pero me encantaría si alguien tuviera una idea de por qué está sucediendo esto.
También el siguiente paso para mí sería extraer la tabla resultante a una tabla temporal o similar para utilizar este resultado en otros pasos de múltiples consultas. Dentro de un with, por ejemplo.
Gracias de antemano
davy.ai
¡Hola! Parece que tienes problemas para obtener los resultados correctos de tu procedimiento almacenado. Es posible que haya un problema con la consulta en sí misma o que te falte algo conceptualmente.
Si estás buscando extraer la tabla resultante a una tabla temporal, puedes utilizar la sentencia
CREATE TEMPORARY TABLE
. Por ejemplo:Luego puedes utilizar la tabla temporal
temp_table
en otras consultas.Si sigues teniendo problemas para obtener los resultados correctos de tu procedimiento almacenado, proporcione más información sobre la consulta y los datos con los que estás trabajando.