cual es el error?

20/02/2006 - 20:31 por Omar Castillo | Informe spam
Tengo este query pero no me esta funcionando bien,

tengo col001= 1234 con col006 = 4567
y col001 34 y col006 = 7894 me deberia de listar los dos regsitros
porque no son iguales los dos datos pero solo me lista uno de ellos

Alguna idea?


select Distinct(Col001),Col002,Col003,Col004,Col005,Col006,
Col007,Col008,Col009,Col010 from Op_Tmp
where not exists (select Col001,Col006
from Open_Summary
WHERE Open_Summary.Col001=Op_Tmp.Col001)

Preguntas similare

Leer las respuestas

#1 Noldis Chumacero
20/02/2006 - 21:48 | Informe spam
Omar,

Primeramente deberías enviar un poco mas ordenalo lo que quieres, espero que
sea lo que quieres

Estoy tratando de resolver tu problema a ciegas, espero poder ayudarte.

FROM sysobjects
WHERE name = N'Op_Tmp'
AND type = 'U')
DROP TABLE Op_Tmp
GO

CREATE TABLE #Op_Tmp (
co1001 int NULL,
co1002 int NULL,
co1003 int NULL,
co1004 int NULL,
co1005 int NULL,
co1006 int NULL
)
GO

CREATE TABLE #Open_Summary (
OS_co1001 int NULL,
OS_co1006 INT NULL
)
GO
INSERT INTO #Open_Summary VALUES(1234, 5)
INSERT INTO #Open_Summary VALUES(1235, 6)

INSERT INTO #Op_Tmp VALUES(1234, 0, 0, 0, 0, 4567)
INSERT INTO #Op_Tmp VALUES(1234, 0, 0, 0, 0, 7894)
INSERT INTO #Op_Tmp VALUES(6666, 0, 0, 0, 0, 7894)


GO

SELECT * FROM #Op_Tmp
SELECT * FROM #Open_Summary

SELECT *--DISTINCT (co1001),co1002,co1003,co1004,co1005,co1006
FROM #Op_Tmp
WHERE NOT EXISTS (SELECT OS_co1001,OS_co1001
FROM #Open_Summary
WHERE #Open_Summary.OS_co1001=#Op_Tmp.co1001)


#Op_Tmp
SELECT OS_co1001,OS_co1006
FROM #Open_Summary, #Op_Tmp
WHERE #Open_Summary.OS_co1001=#Op_Tmp.co1001

SELECT OS_co1001,OS_co1006
FROM #Open_Summary, #Op_Tmp
WHERE #Open_Summary.OS_co1001<>#Op_Tmp.co1001

tienes un elemento.



GO

DROP TABLE #Op_Tmp
GO
DROP TABLE #Open_Summary

Ing. Noldis Chumacero Chávez
Departamento de Sistemas
AeroSur S.A.
Santa Cruz de la Sierra, Bolivia
Telf. 3364446(236) 77074919
"Omar Castillo" escribió en el mensaje
news:%
Tengo este query pero no me esta funcionando bien,

tengo col001= 1234 con col006 = 4567
y col001 34 y col006 = 7894 me deberia de listar los dos regsitros
porque no son iguales los dos datos pero solo me lista uno de ellos

Alguna idea?


select Distinct(Col001),Col002,Col003,Col004,Col005,Col006,
Col007,Col008,Col009,Col010 from Op_Tmp
where not exists (select Col001,Col006
from Open_Summary
WHERE Open_Summary.Col001=Op_Tmp.Col001)

Respuesta Responder a este mensaje
#2 Omar Castillo
21/02/2006 - 00:18 | Informe spam
creo que ya lo tengo


select Distinct(Col001),Col002,Col003,Col004,Col005,
Col006,Col007,Col008,Col009,Col010 from Op_Tmp
where not exists (select Col001,Col006
from Open_Summary
WHERE Open_Summary.Col001=Op_Tmp.Col001 and
Open_Summary.Col006=Op_Tmp.Col006)


Al parecer me faltaba agregar "and Open_Summary.Col006=Op_Tmp.Col006"
para que me buscara los que existen juntos que es lo que necesito,
alguien me puede confirmar esto
ej
Si en open_summary tehgo

col001 = 1234 y col006 = 4567

y en op_tmp thego
col001 = 1234 y col006 = 4567
col001 = 1234 y col006 = 4564
col001 = 6542 y col006 = 4567

con este query solo me encontrara

col001 = 1234 y col006 = 4564
col001 = 6542 y col006 = 4567
correcto??




Noldis Chumacero escribió:

Omar,

Primeramente deberías enviar un poco mas ordenalo lo que quieres, espero que
sea lo que quieres

Estoy tratando de resolver tu problema a ciegas, espero poder ayudarte.

FROM sysobjects
WHERE name = N'Op_Tmp'
AND type = 'U')
DROP TABLE Op_Tmp
GO

CREATE TABLE #Op_Tmp (
co1001 int NULL,
co1002 int NULL,
co1003 int NULL,
co1004 int NULL,
co1005 int NULL,
co1006 int NULL
)
GO

CREATE TABLE #Open_Summary (
OS_co1001 int NULL,
OS_co1006 INT NULL
)
GO
INSERT INTO #Open_Summary VALUES(1234, 5)
INSERT INTO #Open_Summary VALUES(1235, 6)

INSERT INTO #Op_Tmp VALUES(1234, 0, 0, 0, 0, 4567)
INSERT INTO #Op_Tmp VALUES(1234, 0, 0, 0, 0, 7894)
INSERT INTO #Op_Tmp VALUES(6666, 0, 0, 0, 0, 7894)


GO

SELECT * FROM #Op_Tmp
SELECT * FROM #Open_Summary

SELECT *--DISTINCT (co1001),co1002,co1003,co1004,co1005,co1006
FROM #Op_Tmp
WHERE NOT EXISTS (SELECT OS_co1001,OS_co1001
FROM #Open_Summary
WHERE #Open_Summary.OS_co1001=#Op_Tmp.co1001)


#Op_Tmp
SELECT OS_co1001,OS_co1006
FROM #Open_Summary, #Op_Tmp
WHERE #Open_Summary.OS_co1001=#Op_Tmp.co1001

SELECT OS_co1001,OS_co1006
FROM #Open_Summary, #Op_Tmp
WHERE #Open_Summary.OS_co1001<>#Op_Tmp.co1001

tienes un elemento.



GO

DROP TABLE #Op_Tmp
GO
DROP TABLE #Open_Summary

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida