Ayuda con consulta INTERSECT please...

23/05/2005 - 17:25 por JorTriFa | Informe spam
Hola a todos,

Tengo la siguiente consulta (quiero todas las emrpesas que realizan el
servicio 102 y 104):

SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 102
INTERSECT
SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 104

y la consuta me da un errorpuedo utilizar la sentencia INTERSECT??

Existe otra forma de hacerlo?

La tabla, tiene los siguientes valores: (se supone que me deberia dar las
empresas 13 y 15)

idEmpresa idservicio
11 101
11 102
11 201
11 202
11 204
11 205
12 102
12 103
13 101
13 102
13 104
14 101
14 201
14 202
14 204
14 401
15 102
15 104
15 201
15 204

Gracias a to2

Preguntas similare

Leer las respuestas

#1 Maxi
23/05/2005 - 17:38 | Informe spam
Hola, insersec? que es eso? para hacer eso seria mas simple asi:

SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio in(102,104)



Salu2
Maxi


"JorTriFa" escribió en el mensaje
news:
Hola a todos,

Tengo la siguiente consulta (quiero todas las emrpesas que realizan el
servicio 102 y 104):

SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 102
INTERSECT
SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 104

y la consuta me da un errorpuedo utilizar la sentencia INTERSECT??

Existe otra forma de hacerlo?

La tabla, tiene los siguientes valores: (se supone que me deberia dar las
empresas 13 y 15)

idEmpresa idservicio
11 101
11 102
11 201
11 202
11 204
11 205
12 102
12 103
13 101
13 102
13 104
14 101
14 201
14 202
14 204
14 401
15 102
15 104
15 201
15 204

Gracias a to2


Respuesta Responder a este mensaje
#2 Eleazar
23/05/2005 - 17:53 | Informe spam
en lugar de la instruccion intersect remplazala por la instruccion union
o prueba con esto
SELECT Distinct idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio In (102, 104)
suerte

"JorTriFa" escribió en el mensaje
news:
Hola a todos,

Tengo la siguiente consulta (quiero todas las emrpesas que realizan el
servicio 102 y 104):

SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 102
INTERSECT
SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 104

y la consuta me da un errorpuedo utilizar la sentencia INTERSECT??

Existe otra forma de hacerlo?

La tabla, tiene los siguientes valores: (se supone que me deberia dar las
empresas 13 y 15)

idEmpresa idservicio
11 101
11 102
11 201
11 202
11 204
11 205
12 102
12 103
13 101
13 102
13 104
14 101
14 201
14 202
14 204
14 401
15 102
15 104
15 201
15 204

Gracias a to2


Respuesta Responder a este mensaje
#3 JorTriFa
23/05/2005 - 18:08 | Informe spam
Ya pero si lo hago con << where idservicio in(102,104) >> me da todas las
empresas que realizan el servicio 102 -o- 104 y yo lo que quiero es las que
hagan el servicio 102 -y- 104


"Eleazar" escribió en el mensaje
news:%
en lugar de la instruccion intersect remplazala por la instruccion union
o prueba con esto
SELECT Distinct idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio In (102, 104)
suerte

"JorTriFa" escribió en el mensaje
news:
> Hola a todos,
>
> Tengo la siguiente consulta (quiero todas las emrpesas que realizan el
> servicio 102 y 104):
>
> SELECT idEmpresa
> FROM ServiciosRealizaEmpresa
> WHERE idservicio = 102
> INTERSECT
> SELECT idEmpresa
> FROM ServiciosRealizaEmpresa
> WHERE idservicio = 104
>
> y la consuta me da un errorpuedo utilizar la sentencia INTERSECT??
>
> Existe otra forma de hacerlo?
>
> La tabla, tiene los siguientes valores: (se supone que me deberia dar


las
> empresas 13 y 15)
>
> idEmpresa idservicio
> 11 101
> 11 102
> 11 201
> 11 202
> 11 204
> 11 205
> 12 102
> 12 103
> 13 101
> 13 102
> 13 104
> 14 101
> 14 201
> 14 202
> 14 204
> 14 401
> 15 102
> 15 104
> 15 201
> 15 204
>
> Gracias a to2
>
>


Respuesta Responder a este mensaje
#4 Maxi
23/05/2005 - 19:04 | Informe spam
Hola, entendido, entonces podemos usar algo asi como

SELECT T.IDEMPRESA,COUNT(*) FROM

(SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio In = 102
UNION ALL
SELECT idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio In = 104) T
GROUP BY T.IDEMPRESA
HAVING COUNT(*) = 2






Salu2
Maxi


"JorTriFa" escribió en el mensaje
news:
Ya pero si lo hago con << where idservicio in(102,104) >> me da todas las
empresas que realizan el servicio 102 -o- 104 y yo lo que quiero es las
que
hagan el servicio 102 -y- 104


"Eleazar" escribió en el mensaje
news:%
en lugar de la instruccion intersect remplazala por la instruccion union
o prueba con esto
SELECT Distinct idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio In (102, 104)
suerte

"JorTriFa" escribió en el mensaje
news:
> Hola a todos,
>
> Tengo la siguiente consulta (quiero todas las emrpesas que realizan el
> servicio 102 y 104):
>
> SELECT idEmpresa
> FROM ServiciosRealizaEmpresa
> WHERE idservicio = 102
> INTERSECT
> SELECT idEmpresa
> FROM ServiciosRealizaEmpresa
> WHERE idservicio = 104
>
> y la consuta me da un errorpuedo utilizar la sentencia INTERSECT??
>
> Existe otra forma de hacerlo?
>
> La tabla, tiene los siguientes valores: (se supone que me deberia dar


las
> empresas 13 y 15)
>
> idEmpresa idservicio
> 11 101
> 11 102
> 11 201
> 11 202
> 11 204
> 11 205
> 12 102
> 12 103
> 13 101
> 13 102
> 13 104
> 14 101
> 14 201
> 14 202
> 14 204
> 14 401
> 15 102
> 15 104
> 15 201
> 15 204
>
> Gracias a to2
>
>






Respuesta Responder a este mensaje
#5 Liliana Sorrentino
23/05/2005 - 19:11 | Informe spam
Hola,

SELECT idEmpresa FROM

(SELECT Distinct idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 102) CientoDos

INNER JOIN

(SELECT Distinct idEmpresa
FROM ServiciosRealizaEmpresa
WHERE idservicio = 104) CientoCuatro

ON CientoDos.idEmpresa = CientoCuatro.idEmpresa



"JorTriFa" escribió en el mensaje
news:
Ya pero si lo hago con << where idservicio in(102,104) >> me da todas las
empresas que realizan el servicio 102 -o- 104 y yo lo que quiero es las


que
hagan el servicio 102 -y- 104


"Eleazar" escribió en el mensaje
news:%
> en lugar de la instruccion intersect remplazala por la instruccion union
> o prueba con esto
> SELECT Distinct idEmpresa
> FROM ServiciosRealizaEmpresa
> WHERE idservicio In (102, 104)
> suerte
>
> "JorTriFa" escribió en el mensaje
> news:
> > Hola a todos,
> >
> > Tengo la siguiente consulta (quiero todas las emrpesas que realizan el
> > servicio 102 y 104):
> >
> > SELECT idEmpresa
> > FROM ServiciosRealizaEmpresa
> > WHERE idservicio = 102
> > INTERSECT
> > SELECT idEmpresa
> > FROM ServiciosRealizaEmpresa
> > WHERE idservicio = 104
> >
> > y la consuta me da un errorpuedo utilizar la sentencia INTERSECT??
> >
> > Existe otra forma de hacerlo?
> >
> > La tabla, tiene los siguientes valores: (se supone que me deberia dar
las
> > empresas 13 y 15)
> >
> > idEmpresa idservicio
> > 11 101
> > 11 102
> > 11 201
> > 11 202
> > 11 204
> > 11 205
> > 12 102
> > 12 103
> > 13 101
> > 13 102
> > 13 104
> > 14 101
> > 14 201
> > 14 202
> > 14 204
> > 14 401
> > 15 102
> > 15 104
> > 15 201
> > 15 204
> >
> > Gracias a to2
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida