|
|
||||||
|
#1
|
|
|
|
|
Hola:
Anteriormente ya pregunté acerca de la posibilidad de convertir las columnas en filas y las filas en columnas. Lo que habitualmente se denomina "pivotar"o "rotar" una tabla. (ver el topic: DAR LA VUELTA A UNA TABLA) Mi problema es que los ejemplos que me dieron solamente sirven para el caso de consultas que presenten datos sumarizados pero ese no es el caso. En ningún momento se van a extraer totales o cálculos sobre los datos porque son simples datos de texto. Este sería el ejemplo de tabla: CLIENTE, RECIBO, ARTICULO, FECHA Paco 1 ................. Paco 2 .......... Paco 3 ...... Pedro 1 .. y tras rotar, debería mostrar: Paco - recibo1- tornillos - 12/12/99 - recibo 2 - tuercas - 15/4/00 -recibo 3 - clavos - 23/6/04 Pedro......... No hay sumas, ni totales, ni count, ni agregados, ni nada. SOLAMENTE ROTAR LA TABLA. Todos los ejemplos consultados utilizan agragados o sumas. Como por ejemplo este: http://support.microsoft.com/default...;EN-US;q175574. No puedo implementarlo. Se agradece la ayuda |
|
|
|
#2
|
|
|
|
|
No tienes tal cosa en el SQL.
Si lo quieres "programar" deberás hacer algo muy variable con muchos case o sentencias dinámicas. Por que no lo haces en el cliente ? -------------------------------------------------- Jose Mariano Alvarez jose (.) alvarez * *Arroba* * mug (.) org (.) ar Comunidad de base de datos Grupo de Usuarios Microsoft www.mug.org.ar -------------------------------------------------- .. "Jomaweb" <brooce> wrote in message news:3688 > Hola: > Anteriormente ya pregunté acerca de la posibilidad de convertir las columnas > en filas y las filas en columnas. Lo que habitualmente se denomina > "pivotar"o "rotar" una tabla. (ver el topic: DAR LA VUELTA A UNA TABLA) > > Mi problema es que los ejemplos que me dieron solamente sirven para el caso > de consultas que presenten datos sumarizados pero ese no es el caso. En > ningún momento se van a extraer totales o cálculos sobre los datos porque > son simples datos de texto. > > Este sería el ejemplo de tabla: > > CLIENTE, RECIBO, ARTICULO, FECHA > Paco 1 ................. > Paco 2 .......... > Paco 3 ...... > Pedro 1 .. > > y tras rotar, debería mostrar: > > Paco - recibo1- tornillos - 12/12/99 - recibo 2 - tuercas - 15/4/00 -recibo [..] |
|
#3
|
|
|
|
|
Hombre, me hacía ilusión tener un procedimiento almacenado.
Yo soy así, me busco la forma difícil. ¿no está previsto en Yukon?¿verdad? "Jose Mariano Alvarez (MUG)" <jose.alvarez * *Arroba* * mug.org.ar> escribió en el mensaje news:a396 [..] |
|
#4
|
|
|
|
|
Jonaweb, no siempre es mejor hacerlo en el gestor. Ten en cuenta que
TSQL no es un lenguaje de programación, y en muchas ocasiones le va a costar realizar ese tipo de operaciones más que hacerlo en el cliente. Respecto a la otra pregunta, hay buenas noticias: se podrán hacer ese tipo de transformaciones en Yukon. |
|
#5
|
|
|
|
|
Una forma sencilla de hacer esto en el servidor es usar el motor de Access,
el Jet, como intermediario, para que haga la pivotación. Estos serían los pasos a seguir: 1) Crear una base de datos de Access en el servidor donde se ejecuta SQL Server 2) Crear una tabla vinculada por ODBC a la tabla de SQL Server en la base de datos de Access 3) Crear una consulta de referencias cruzadas en Access, tomando como base la tabla vinculada 4) Crear, en SQL Server, un servidor vinculado a la base de datos de Access 5) Ejecutar la siguiente sentencia en SQL Server: SELECT * FROM OPENQUERY( ServidorVinculadoAccess, 'SELECT * FROM ConsultaReferenciasCruzadas') También podemos usar el motor jet en el cliente para hacer lo mismo y así evitarle al servidor hacer todo el trabajo. En este caso tenemos en el cliente: 1) La base de datos de Access 2) Una tabla vinculada por ODBC a la tabla de SQL Server en la base de datos de Access 3) una consulta de referencias cruzadas en Access, tomando como base la tabla vinculada 4) En vez de ejecutar la consulta sobre SQL Server, la ejecutamos sobre la base de datos local de Access: SELECT * FROM ConsultaReferenciasCruzadas Saludos: Jesús López MVP .net |
|
|
| Temas Similares | |
| pivotar Hola buenos dias me gustaria conocer como puedo pivotar una misma columna 2 veces en una query. Esplico mejor: Pivotar una vez para que me sume las cantidades, y pivotar una... |
|
| Pivotar en SQL 2000. Hola a todos, Tengo una tabla con la siguiente estructura: Proveedor, RefProv, EAN, Descripcion, Precio, PrecioNeto En ella importo datos de las tarifas de diferentes... |
|
| pivotar solo media tabla Hola Sé como pivotar una tabla entera pero...¿que pasa cuando lo que quiero es pivotar solo una parte de la tabla? La tabla es la siguiente: cliente banco fecha... |
|
| Pivotar Muy buenas. Tengo una duda y voy a intentar explicarla con un ejemplo: Tengo 2 tablas y quiero cruzarlas para ver las diferencias que tienen, pero el problema es que su... |
|
| Pasar de una tabla de Clientes a otra cambios y agregados Todos las semanas me pasan la tabla de Clientes, que tiene unos 12 campos (IDCliente, Nombre, Telefono, Direccion, etc.), son unos 7000 clientes, y yo me tengo que fijar... |
|
|
La franja horaria es GMT. Ahora son las 07:55. | Privacy Policy
|