FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Duda con SQL SELECT
Hola amigos, vengo trabajando mucho tiempo con Access y nunca habia tenido problemas. Ya empece con SQL Server Express 2005 y me encuentro que cuando hago esta clausula:
Yo creo que tendria que devolverme los siguientes campos: - Value - Concepto - A.idObra - B.idObra Pero me esta devolviendo estos campos: - Value - Concepto - idObra - idObra_1 Al final el resultado no es el deseado, me devuelve todos los records de ObraVarios. Alguien sabe el porque?? GRACIAS |
#3
|
||||
|
||||
Probe lo que me dijistes y nada, me devuelve lo mismo:
idObra idObra_1 Otra sugerencia?? |
#4
|
||||
|
||||
Ahora que me fijo en la consulta... los valores de b.idObra siempre serán los mismos que los de a.idObra, y como las campos se llaman igual, pues te devuelve un segundo campo idObra_1 que debe ser el b.idObra y lo renombra para evitar conflictos.
Si quisieras cambiar el nombre que se muestra para este campo sería así:
|
#5
|
||||
|
||||
Si, ahora me renombra el nombre.
pero no me hace la condicion y me sigue devolviendo. En access eso no importa Cuando haces esa clausula como te dijo te devuelve 2 campos automaticamente: a.idObra b.idObra SQL debiera hacerlo tambien no?? |
#6
|
||||
|
||||
No entiendo esto.
Supongo que te devolverá el mismo valor que tiene el idObra de ObraVarios. No sé, hace años que no uso el SQL Server. De todas formas cada gestor de base de datos te devolverá lo que le programaron. Así Access te devuelve los campos como a.idObra y b.idObra, SQL Server como idObra e idObra_1 y me parece que Oracle te devuelve ambos como idObra |
#7
|
||||
|
||||
Pues no que yo sepa. Oracle al menos devuelve el nombre del campo tal cual, sin incluir la tabla o los alias, como mucho si el nombre está repetido le añade "_1".
|
#8
|
||||
|
||||
Disculpen que suene atrevido, pero ¿Que necesidad hay de devolver un campo repetido?
Si ya estas mostrando el campo A.idObra para que mostrar el campo B.IdObra si este tiene el mismo valor que el de la tabla anterior (A)? La SQL debería ser:
Saludos, |
#9
|
||||
|
||||
Si es muy buena todas las sugerencias y en especial la ultima,
Lo que pasa es que en el Grid no me hace el A.idObra=B.idObra Me pone todos los valores de todas las obras, no se porque no filtra. Al final he tenido que hacerlo manual.
de todas formas gracias por todo. Si cada vez que programe con SQL tendre estos problemas, pues no se, ninguna de estas cosas me pasaba con base de datos en Access. Gracias |
#10
|
||||
|
||||
pues que tengas dos campos iguales y que SQL Server te regrese uno agregándole un "_1" para evitar incongruencias, a mi me parece que es más una ventaja que un problema...
Problema es que tengas dos campos iguales con el mismo nombre... SQL Server es infinitamente mucho mejor que Access para aplicaciones de bases de datos. P.D. No solo SQL Server, cualquier otro motor de bases de datos es mejor que utilizar Access para una aplicación de bases de datos y multiusuario.
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
duda sobre un select (sql) | acrophet | Conexión con bases de datos | 13 | 16-01-2008 20:24:51 |
Problema conuna consulta select...not in (select ...) | VRO | Firebird e Interbase | 2 | 11-08-2005 08:56:35 |
5 select de 5 tablas diferentes en un select solo | sakuragi | SQL | 6 | 15-06-2005 18:57:06 |
Select anidado: Select from (select....) | Malon | SQL | 2 | 14-10-2004 14:01:24 |
Select anidado ( Select from select ) | Malon | Firebird e Interbase | 1 | 05-10-2004 04:14:38 |
|