tincho   15-08-2022, 20:34
#1
Hola.
Resulta que tengo una tabla "recipientes" con una lista de recipientes y en esta existen dos campos que apuntan a la tabla "unidades".
El caso es que al crear una vista salta un error de ambigüedad ya que le aparece mas de una vez el campo "unidades.name"

¿Como se puede sortear este inconveniente?

LEFT JOIN unidades ON recipientes.wtuom=unidades.idx
LEFT JOIN unidades ON recipientes.tuom=unidades.idx

Código:
CREATE TABLE "unidades" (
    "idx"    INTEGER,
    "name"    TEXT NOT NULL UNIQUE,
    "symbol"    TEXT,
    "type"    INTEGER,
    "basic"    TEXT,
    "other"    TEXT,
    FOREIGN KEY("type") REFERENCES "magnitudes"("idx"),
    PRIMARY KEY("idx" AUTOINCREMENT)
)

CREATE TABLE "recipientes" (
    "idx"    INTEGER,
    "tag"    TEXT NOT NULL UNIQUE,
    "wt"    REAL,
    "wtuom"    INTEGER,
    "temp"    REAL,
    "tuom"    INTEGER
    FOREIGN KEY("wtuom") REFERENCES "unidades"("idx"),
    FOREIGN KEY("tuom") REFERENCES "unidades"("idx"),
    PRIMARY KEY("idx" AUTOINCREMENT)
)

CREATE VIEW "view_recipientes" AS SELECT
    recipientes.idx AS idx,
    recipientes.tag AS tag,
    recipientes.wt AS wt,
    recipientes.wtuom AS wtuom,
    recipientes.temp AS temp,
    recipientes.tuom AS tuom,
    FROM recipientes
LEFT JOIN unidades ON recipientes.wtuom=unidades.idx
LEFT JOIN unidades ON recipientes.tuom=unidades.idx
ORDER BY recipientes.idx,recipientes.tag ASC
Nota: este es un ejemplo resumido pero en el caso real tengo 15 campos apuntando a la tabla unidades.

1 Saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.