15-08-2022, 20:34
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
Nota: este es un ejemplo resumido pero en el caso real tengo 15 campos apuntando a la tabla unidades.
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