cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con query

Former Member
0 Kudos

Jovenes necesito realizar un query en donde pueda adicionar columnas pero que la fila sea la misma, ej:

Nombre Valor_1 Valor_2

Juan Perez 100 200

Jorge Alvizu 200 100

Espero me haya dado a explicar, de antemano muy agradecido por la ayuda.

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

a que te refieres con el mismo valor? osea el mismo campo? o como

Former Member
0 Kudos

Gracias Mauricio me explico un poco mejor, tengo un cliente el cual me factura y la facturacion la hago en base aun Items, lo que necesitan es hacer un reporte en donde me detalle por cliente que productos me compro, pero necesitan el valor.


Cliente                Camisas               Zapatos
Juan Perez           1,000.00             2,000.00
Esvin Alvizu           300.00                10.00

En donde camisas es el Items y zapatos igual, y los montos son el valor de la compra

Yo he estado experimentando pero no me funciona el query que tengo es el siguiente


SELECT DISTINCT T0.[CardCode], T0.[CardName], T3.[Position], T1.[Quantity],
	(SELECT (F.ItemCode) 
		FROM PCH1 F INNER JOIN OPCH G ON F.DocEntry = G.DocEntry 
		WHERE (F.ItemCode) = 'PLA0001' AND T1.ItemCode = F.ItemCode) AS 'Camisa',
	(SELECT (F.ItemCode)
		FROM PCH1 F INNER JOIN OPCH G ON F.DocEntry = G.DocEntry 
		WHERE (F.ItemCode) = 'PLA0002' AND T1.ItemCode = F.ItemCode) AS 'Zapatos'
FROM OPCH T0  INNER JOIN 
		PCH1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN 
		OCRD T2 ON T0.CardCode = T2.CardCode INNER JOIN 
		OCPR T3 ON T0.CntctCode = T3.CntctCode 
WHERE T1.[U_Subproyecto] = 'Nombre de Proyecto'

Pero me da error


Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

Espero me puedan ayudad y de antemano muy agradecido.

Edited by: cjpgrajeda on Dec 9, 2011 7:08 PM

former_member188440
Active Contributor
0 Kudos

Ya intentaste en el subquery, agregar tambien el filtro del proyecto?

Intenta tambien poniendo un top 1 en cada sub query

Former Member
0 Kudos

Gracias Mauricio, lo que indicas podria ser como este query


SELECT T0.[CardCode], T0.[CardName], T3.[Position], T1.[Quantity], T1.[ItemCode], 
	Case When T0.[CardCode] = T0.CardCode THEN (SELECT SUM(Y.LineTotal) FROM PCH1 Y WHERE Y.DocEntry = T0.DocEntry and (Y.ItemCode) = 'PLA0001') END as 'Camisa',
	Case When T0.[CardCode] = T0.CardCode THEN (SELECT SUM(Y.LineTotal) FROM PCH1 Y WHERE Y.DocEntry = T0.DocEntry and (Y.ItemCode) = 'PLA0002') END as 'Zapatos',
	Case When T0.[CardCode] = T0.CardCode THEN (SELECT SUM(Y.LineTotal) FROM PCH1 Y WHERE Y.DocEntry = T0.DocEntry and (Y.ItemCode) = 'PLA0003') END as 'Calcetines',
	Case When T0.[CardCode] = T0.CardCode THEN (SELECT SUM(Y.LineTotal) FROM PCH1 Y WHERE Y.DocEntry = T0.DocEntry and (Y.ItemCode) = 'PLA0004') END as 'Tenis'
FROM OPCH T0  INNER JOIN 
		PCH1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN 
		OCRD T2 ON T0.CardCode = T2.CardCode INNER JOIN 
		OCPR T3 ON T0.CntctCode = T3.CntctCode 
WHERE T1.[U_Subproyecto] = 'Nombre del proyecto'
GROUP BY T0.[CardCode], T0.[CardName], T3.[Position], T1.[Quantity], T0.DocEntry, T1.[ItemCode]

y si me coloca los montos en donde corresponden pero siempre me genera una segunda linea con el mismo nombre del socio y con los mismos valores.

Si me podrias ayudar con este otro te lo agradeceria bastante.

former_member188440
Active Contributor
0 Kudos

Si le agregas el distinct? al primer select

Former Member
0 Kudos

Gracias Mauricio por toda tu ayuda ya funciono correctamente.

Te agradezco un monton la ayuda.

Answers (0)