¿Cómo consultar varias bases de datos y entornos en la misma query SQL?

Consulta tablas de otros proyectos o entornos en la misma query, incluso entre PostgreSQL y MySQL. No hace falta configurar un DB Link en el servidor.

Cruzar datos de dos bases, o mirar una tabla de Producción mientras la pestaña está en Homologación, suele sacarte del editor. En muchos clientes SQL eso acaba en exportar CSV, lanzar un script aparte o configurar un DB Link en el servidor.

Un DB Link pide configuración y permisos extra en el servidor, y suele fallar cuando las bases son de tecnologías distintas, como PostgreSQL y MySQL.

Kerry Studio deja consultar la tabla de la otra conexión en la misma query. Basta definir un alias SQL en el proyecto y referenciar la tabla remota como @proyecto.tabla, por ejemplo @billing.orders.

Al ejecutar, Kerry busca las filas por la conexión guardada y las deja en una tabla temporal en la conexión de la pestaña. El JOIN se ejecuta ahí, sin DB Link y sin instalar nada en el servidor. La misma sintaxis vale entre PostgreSQL y MySQL.

Cruzas los datos en el editor, sin salir de la query.

Cómo definir el alias

El alias vive en el proyecto, en el campo Alias SQL (@alias). Sin ese nombre, el editor no tiene qué resolver en el token.

Necesitas un workspace abierto, un proyecto con el campo relleno y una pestaña SQL.

  1. En el diálogo Nuevo proyecto o Editar proyecto, indica el alias, por ejemplo billing. El @ no va en el campo. Solo aparece en el SQL.
  2. Conecta la pestaña al proyecto y al entorno en el que debe ejecutarse la consulta.
  3. En el editor, escribe @proyecto.tabla en lugar de la tabla remota, por ejemplo @billing.public.orders.
  4. Ejecuta. Kerry busca las filas y monta la temporal en la conexión de la pestaña.

La paleta (⌘K / CtrlK) → Nueva conexión abre el mismo diálogo de proyecto.

Cómo escribir el alias en el SQL

Hay dos formas de escribir el alias.

@proyecto.tabla, por ejemplo @billing.orders, usa el entorno en el que está la pestaña. Con schema, el camino es el del motor: @billing.public.orders.

@proyecto:entorno, por ejemplo @billing:production, usa ese entorno aunque la pestaña esté en otro. El : queda solo entre el alias y el entorno. El resto sigue con .: @billing:production.public.orders.

Schema, tabla y columna usan ., nunca :. Bien: @billing.public.orders, @billing:production.public.orders. Mal: @billing:production:public.orders.

@nombre solo, sin .tabla y sin :entorno, es una variable de usuario de MySQL (SET @s). No es un alias.

Quien define @… eres tú, en el proyecto. El alias tiene que ser único entre los proyectos guardados. Después de @proyecto: el editor lista los entornos de ese proyecto. Después de @proyecto:entorno. lista schemas y tablas de esa conexión.

El alias no cambia el selector de proyecto de la pestaña. Solo elige de dónde salen esas filas. Si el nombre en el SQL no es un proyecto guardado, el editor marca el token y la ejecución falla con el nombre que pidió la consulta.

Dos proyectos en la misma consulta

Un caso habitual es la pestaña en una base de pedidos y los clientes en otro proyecto, ya guardado.

sql
-- Pestaña en el proyecto shop, entorno Homologación.
-- @shop.public.orders sigue la pestaña.
-- @crm.public.customers busca el otro proyecto, en el entorno de la pestaña.

SELECT
  o.id,
  o.status,
  c.email
FROM @shop.public.orders o
JOIN @crm.public.customers c
  ON c.id = o.customer_id
WHERE o.created_at > current_date - 7;

Si crm es MySQL y la pestaña está en PostgreSQL, el patrón es el mismo. Kerry busca las filas y el JOIN sigue en la conexión de la pestaña.

Homologación y Producción en la misma consulta

Cuando la pestaña está en Homologación y quieres la misma tabla en Producción, fija el entorno en el token.

En el SQLPestaña enKerry busca en
@shop.public.ordersHomologaciónHomologación del proyecto shop
@shop:production.public.ordersHomologaciónProducción del proyecto shop
sql
-- Pestaña en el proyecto shop, entorno Homologación.

SELECT
  h.id,
  h.status AS status_homologacion,
  p.status AS status_produccion
FROM @shop.public.orders h
JOIN @shop:production.public.orders p
  ON p.id = h.id
WHERE h.status <> p.status;

Si solo cambias el entorno de la pestaña, la consulta en el editor sigue igual. Lo que cambia es el token sin :entorno, porque sigue la pestaña. El token con :production sigue apuntando a Producción.