PostgreSQL - ERROR "la subconsulta tiene demasiadas columnas"

 
Vista:

ERROR "la subconsulta tiene demasiadas columnas"

Publicado por Miguel (1 intervención) el 02/04/2018 03:11:56
Buenas noches, verán soy nuevo en PostgresSQL y tengo un trabajo de un curso que tomo en el cual tengo un problema a la hora de correr toda la busqueda. El error que me aparece dice "la subconsulta tiene demasiadas columnas", en verdad espero puedan ayudarme por favor.

Saludos



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
SELECT transid, prod1, prod2, prod3,cliente, 'COMPRA MALA'
FROM crosstab(
'
SELECT sales.salesorderdetail.salesorderid,sales.customer.customerid,
row_number() over(partition by sales.salesorderdetail.salesorderid),
CAST (production.product.name AS VARCHAR(50))
FROM production.product 
JOIN sales.salesorderdetail ON production.product.productid = sales.salesorderdetail.productid
JOIN sales.salesorderheader ON sales.salesorderdetail.salesorderid = sales.salesorderheader.salesorderid
JOIN sales.customer ON sales.salesorderheader.customerid = sales.customer.customerid 
GROUP BY sales.salesorderdetail.salesorderid,production.product.productid,sales.customer.customerid
')
AS (transid INTEGER, cliente INTEGER, prod1 VARCHAR(50), prod2 VARCHAR(50),prod3 VARCHAR(50),prod4 VARCHAR(50),prod5 VARCHAR(50))
WHERE prod2 IS NOT NULL AND prod3 IS NOT NULL AND prod4 IS NOT NULL AND prod5 IS NOT NULL AND transid NOT IN (
 
 
SELECT salesorderid,customerid
FROM(
SELECT sales.salesorderdetail.salesorderid,sales.customer.customerid, unitprice * orderqty AS total3
FROM sales.salesorderdetail
JOIN sales.salesorderheader ON sales.salesorderdetail.salesorderid = sales.salesorderheader.salesorderid
JOIN sales.customer ON sales.salesorderheader.customerid = sales.customer.customerid
) AS t3
GROUP BY salesorderid,customerid
HAVING SUM(total3) >= (
 
SELECT AVG(total2)
FROM(
SELECT salesorderid, SUM(total1) AS total2
FROM(
SELECT salesorderid, unitprice * orderqty AS total1
FROM sales.salesorderdetail) AS t1
GROUP BY salesorderid)AS t2)
);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder