Tengo que rellenar una tabla.
Con 10 huecos.
Pero no siempre tengo los 10 registros... a veces tengo 2, 4, 6 o 9.... y queria saber como hacer para que la consulta de SQL siempre devuelva 10 filas. Cuando no hay que devuelva blancos
| |||
Hacer una consulta que devuelva 10 registros en blanco Tengo que rellenar una tabla. Con 10 huecos. Pero no siempre tengo los 10 registros... a veces tengo 2, 4, 6 o 9.... y queria saber como hacer para que la consulta de SQL siempre devuelva 10 filas. Cuando no hay que devuelva blancos |
| |||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco Hola DMR, no he entendido bien lo que quieres. Dices 'rellenar una tabla con 10 huecos': ¿es una INSERT de una SELECT que devuelve 10 registros? ¿siempre tiene que devolver 10 registros haya los datos que haya en la tabla? ¿Podrías poner un ejemplo? Un saludo. |
| |||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco La cosa es imagina que tienes una tabla de un formulario con 10 huecos y la rellenas haciendo: select nombre from empleados where sector = 'Naval' Eso devuelve 10 filas. Entonces al rellenar la tabla se rellena guay. pero si haces select nombre from empleados where sector = 'Automocion' Y te salen solo 3 empleados, lo que quiero es que la tabla se rellene con blancos. Cada columna de la tabla se rellena con un registro de la BD y lo que necesitaba es que siempre haya 10 columnas para que se vea bonito. De todos modos creo que ya lo consegui. Hice esto: select nombre from empleados where sector = 'Naval' union (select nombre from (select null nombre from empleados where rownum<=:parametro)) order by nombre Algo asi y me parece que funciona. |
| |||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco Hola DMR, la consulta que has puesto no veo que funcione: - Si dos empleados tienen el mismo nombre solamente vas a obtener uno (hacer una UNION es como hacer DISTINCT). - Solamente estás añadiendo un registro nulo independientemente del valor de :parametro. A ver si lo he entendido, ¿quieres que salgan x registros independientemente de la cantidad de registros que devuelva la consulta original? Es decir si hay 3 registros con datos que saque esos 3 más (x-3) con nulos? Y si hubiera más de x registros con datos, que saque x solamente en cualquier caso? Un saludo. |
| |||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco Que tal, perdona que los moleste, phe visto tu post y tengo un problema similar. Tengo una tabla de pedidos y cada pedido tiene un forma de pago y unos gastos de envio que son fijos para cada pedido He creado una vista que me devuleve los registros de Gastos de envio ( es decir todos los pedido pendientes ya que siempre para cada pedido hay un gasto de envio) y otra que me devueleve todos los pedidos pendientes en el que el tipo de pago es un contrarrembolso", hasta aqui todo bien. pero como no todos los pedidos tienen Contrerrembolso ya que unos se pagan con otro metodo, la tabla de "gastosenvio" puede tener 5 registros y la tabla de "contrarrembolso" solo 2, lo que necesito es rellenar la tabla de "contrarrembolso" con registros nulos para que contenga tambien el mismo numero de registros que "Gastosenvio". Respetando que cada pedido tiene un ID y que cada gastoenvio y cada contrarrembolso va ligado a ese ID de pedido. Saludos y espero puedan ayudarme |
| |||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco Hola zidannee, A raíz de este post planteé un reto donde se proponía la resolución de este problema. Por si te sirve, el post es: http://www.forosdelweb.com/f100/reto...premio-649339/ Un saludo. |
| |||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco lo resolvi de esta forma: te lo pongo con un ejemplo: tenia una tabla de codigo y nombre que devolvia 4 registros de la tabla1. Pero si queria que la consulta tuviese siempre 8 registros le haci un join con esta otra
Código:
en este casi variableCantidad le pasaría 4select codigo from (select variableCodigo codigo from tabla2 where rownum <= variableCantidad ) La idea es esa. Tienes que tener en cuenta que: variableCodigo es un parametro igual al codigo de la tabla1. Que la tabla2 tiene en general como mínimo el numero de registros que hay en variableCantidad. Se que es un lio, pero funciona. |
| ||||
Respuesta: Hacer una consulta que devuelva 10 registros en blanco yo alguna vez perseguia tambien el ciclar la consulta sin necesidad de registros, pero para lograr el ciclo no he podido eliminar el usar una tabla con al menos la cantidad de registros que deseas se cicle, y viendo tu solucion tampoco es necesario una subconsulta, checate este ejemplo select sysdate from dual, (select 1 from tab) where rownum <= 10
__________________ |