Otra forma de hacer este comando SQL
Publicado por Hubert Casimiro Taco (98 intervenciones) el 24/09/2005 21:33:25
Buenas.
la siguiente instruccion me devuelve 4 registros (a lo mucho) y esta bien.
SELECT a.nope_unico, a.cdisplay1, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay1 = b.cdisplay UNION
SELECT a.nope_unico, a.cdisplay2, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay2 = b.cdisplay UNION
SELECT a.nope_unico, a.cdisplay3, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay3 = b.cdisplay UNION
SELECT a.nope_unico, a.cdisplay4, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay4 = b.cdisplay
Tabla MOVIDIARIO tiene (nope_unico, cdisplay1, cdisplay2, cdisplay3, cdisplay4)
1283 1 2 3 4
Tabla DISPLAY tiene (cdisplay, locapip)
1 192.168.2.15
2 192.168.2.15
3 192.168.2.15
4 192.168.2.15
Creo que se estan haciendo 4 consultas en ese mismo comando.
Se puede hacer de otra forma de tal forma que se realice menos consultas.
Saludos.
Hubert Casimiro Taco.
la siguiente instruccion me devuelve 4 registros (a lo mucho) y esta bien.
SELECT a.nope_unico, a.cdisplay1, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay1 = b.cdisplay UNION
SELECT a.nope_unico, a.cdisplay2, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay2 = b.cdisplay UNION
SELECT a.nope_unico, a.cdisplay3, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay3 = b.cdisplay UNION
SELECT a.nope_unico, a.cdisplay4, b.localip FROM movidiario a, display b
WHERE a.nope_unico = 1283 And a.cdisplay4 = b.cdisplay
Tabla MOVIDIARIO tiene (nope_unico, cdisplay1, cdisplay2, cdisplay3, cdisplay4)
1283 1 2 3 4
Tabla DISPLAY tiene (cdisplay, locapip)
1 192.168.2.15
2 192.168.2.15
3 192.168.2.15
4 192.168.2.15
Creo que se estan haciendo 4 consultas en ese mismo comando.
Se puede hacer de otra forma de tal forma que se realice menos consultas.
Saludos.
Hubert Casimiro Taco.
Valora esta pregunta


0