From: | Ever Daniel Barreto Rojas <ebarreto(at)nexusit(dot)com(dot)py> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | column doesn't exist |
Date: | 2007-03-13 20:02:17 |
Message-ID: | 1504282012.20070313160217@nexusit.com.py |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
hola a todos:
tengo la siguiente consulta:
SELECT
s.idsfamilia,
CAST(f.fam_nombre || ' - ' || s.sfam_nombre AS character varying(85)) AS familias,
(SELECT
COUNT(idarticulo)
FROM
articulo
WHERE
idsfamilia IN (
SELECT
idsfamilia
FROM
subfamilia
WHERE
idsfamilia = s.idsfamilia
)
)
AS articulos
FROM
familia f
INNER JOIN subfamilia s USING(idfamilia)
WHERE articulos > 0
ORDER BY
f.fam_nombre, s.sfam_nombre
con la consulta anterior busco saber cuántos artículos existen en
cada subfamilia, el problema que tengo es que al ejecutarla, obtengo
el error:
ERROR: column "articulos" does not exist
Estado SQL:42703
entiendo que en la parte del WHERE, la variable "articulos" no
corresponde a ninguna tabla, pero me gustaría saber de qué otra
forma podría obtener sólamente aquellos registros en donde la
cantidad de artículos sea mayor a 0
estoy utilizando la versión 8.1.3 y la definición de las tablas es
la siguiente:
CREATE TABLE familia
(
idfamilia serial NOT NULL,
fam_nombre_corto character varying(18) NOT NULL,
fam_nombre character varying(45) NOT NULL,
fam_orden smallint,
CONSTRAINT pk_familia PRIMARY KEY (idfamilia)
)
WITHOUT OIDS;
CREATE UNIQUE INDEX idx_familia
ON familia
USING btree
(idfamilia);
CREATE TABLE subfamilia
(
idsfamilia serial NOT NULL,
idfamilia integer NOT NULL,
sfam_nombre_corto character varying(18) NOT NULL,
sfam_nombre character varying(45) NOT NULL,
sfam_orden smallint,
CONSTRAINT pk_subfamilia PRIMARY KEY (idsfamilia),
CONSTRAINT fk_subfamil_idfamilia_familia FOREIGN KEY (idfamilia)
REFERENCES familia (idfamilia) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
)
WITHOUT OIDS;
CREATE UNIQUE INDEX idx_subfamilia
ON subfamilia
USING btree
(idsfamilia, idfamilia);
CREATE TABLE articulo
(
idarticulo serial NOT NULL,
idsfamilia integer,
idumedida integer,
art_codbarra bigint,
art_ncorto character varying(35) NOT NULL,
art_nombres character varying(120) NOT NULL,
art_stockactual real NOT NULL,
art_stockminimo real NOT NULL,
art_costo numeric(14,2) NOT NULL,
art_porcimpuesto integer NOT NULL,
art_pventa1 numeric(14,2) NOT NULL DEFAULT 0,
art_pventa2 numeric(14,2) NOT NULL DEFAULT 0,
art_pventa3 numeric(14,2) NOT NULL DEFAULT 0,
art_pventa4 numeric(14,2) NOT NULL DEFAULT 0,
art_deducible smallint NOT NULL,
art_ubicacion character varying(16),
art_f_alta timestamp with time zone DEFAULT now(),
art_f_act timestamp with time zone DEFAULT now(),
CONSTRAINT pk_articulo PRIMARY KEY (idarticulo),
CONSTRAINT fk_articulo_idsfamili_subfamil FOREIGN KEY (idsfamilia)
REFERENCES subfamilia (idsfamilia) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_articulo_idumedida_unidad_m FOREIGN KEY (idumedida)
REFERENCES unidad_medida (idumedida) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT codigo_barra_existente UNIQUE (art_codbarra)
)
WITHOUT OIDS;
CREATE INDEX fk_sf_art
ON articulo
USING btree
(idsfamilia);
gracias de antemano por la ayuda, me gustaría saber qué estoy
haciendo mal y de qué forma podría conseguir lo que estoy buscando
Cordiales saludos,
-------------------
Ever Daniel Barreto Rojas
e.mail: ebarreto(at)nexusit(dot)com(dot)py :: Nexus Information Technologies
web: www.nexusit.com.py
13/03/2007 03:55 p.m.
---------------------
Postulado de Efectividad Mental
La experiencia de un individuo aumenta proporcionalmente
con el número de aparatos que el mismo estropea
---------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Ricardo Martin Gomez | 2007-03-13 20:03:24 | RE: Fwd: Error 42601 al crear una funcion |
Previous Message | Ricardo Martin Gomez | 2007-03-13 19:12:38 | RE: Simbolos dentro de cadenas |