Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Consultas MySQL. Video 2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Consultas MySQL. Video 1
SQL no distingue entre mayúsculas y minúsculas, está por convenio pues es mucho más
00:00:00
de mejor uso el poner por ejemplo las palabras clave ponerlas en mayúsculas y el resto en
00:00:17
minúsculas. Vamos a hacerlo ahora para que lo hagamos de una manera más correcta. Vamos a
00:00:24
ponerlo así y aquí tendríamos tipo, tendríamos la planta y teníamos el estado. Estos son los
00:00:33
cuatro campos que queremos seleccionar. ¿De qué tabla? De habitaciones hemos visto, ¿no? Pues
00:00:45
Entonces vamos a poner el From Habitaciones.
00:00:49
Bien, ya tenemos la selección de los campos y desde qué tabla lo vamos a obtener.
00:00:56
Vamos a poner ahora las condiciones.
00:01:01
Vamos a poner el Where, puesto que nos ha puesto una serie de condiciones.
00:01:03
¿Cuáles son las condiciones?
00:01:08
Vamos aquí.
00:01:10
Nos está diciendo que las habitaciones están libre, ocupada o en mantenimiento.
00:01:12
Con lo cual, tenemos que introducir un nuevo elemento, que es el elemento IN.
00:01:19
¿Por qué? IN se va a basar, lo vamos a utilizar cuando queremos que un conjunto de valores estén contenidos todos ellos.
00:01:23
Entonces, si nosotros queremos que estén contenidos el conjunto de valores, estado, o sea, libre, ocupado y mantenimiento, se realiza a través de la cláusula IN.
00:01:33
Entonces, ¿cuál es el campo implicado que tiene esos valores de libre, ocupado y mantenimiento? Pues era estado. Vamos a poner estado.
00:01:44
al poner ahora el IN
00:01:57
estamos diciendo que estado
00:02:01
contenga un conjunto
00:02:03
de valores, que van a ser justamente
00:02:05
los que nos piden, que son
00:02:07
libre
00:02:09
libre
00:02:09
ocupado
00:02:17
aquí he puesto las comillas que son
00:02:19
las comillas que se utilizan son las que están al lado
00:02:27
del cero en el teclado
00:02:30
¿vale? y luego tendríamos
00:02:31
mantenimiento
00:02:34
el hecho de poner aquí esta cláusula IN
00:02:36
nos está indicando que estado contenga
00:02:47
un conjunto de valores que están
00:02:49
aquí dentro entre paréntesis
00:02:52
que contenga o bien libre o bien ocupado o bien mantenimiento
00:02:54
y esa sería la primera condición que nos han pedido
00:02:58
que afecta a la enumeración
00:03:01
que teníamos aquí
00:03:05
este valor estado era una enumeración y estamos disponiendo con IN
00:03:07
y nos está diciendo que contenga tanto libre, ocupado y mantenimiento.
00:03:11
Con respecto a la otra condición, nos está diciendo que cuya planta sea la 1 o la 2.
00:03:16
Vamos a poner aquí debajo la otra condición, pero antes habrá que poner un AND,
00:03:22
porque queremos que se cumpla la condición de estado y también se cumpla la condición de planta.
00:03:28
En planta queremos que contenga un 1 o un 2. Eso es un conjunto de valores también, entonces habría que ponerlo con IN. O sea, que planta sea un 1 o un 2.
00:03:35
A continuación nos dice que lo ordenemos por estado de manera ascendente, y lo ordenemos por planta de manera descendente.
00:03:49
A ver si era así o no. Estado y luego por planta. No, nos dice que ordena por estado y por luego por planta, al no decir que es de manera descendente y como por defecto es ascendente, lo que vamos a hacer es que los dos sean de manera ascendente.
00:04:07
Bien, vamos a ejecutarlo y veis nos va a salir el qué. Primero, código habitación, tipo, planta y estado, que son los cuatro campos que queremos seleccionar de la tabla habitaciones. Habitaciones tenía todos estos campos, pero solo queremos estos cuatro. Precio noche no lo queremos y son los que nos han aparecido. Luego, que contengan o libre o ocupado o mantenimiento.
00:04:25
Todos aquellos que tengan libre mantenimiento o ocupado que aparezcan y que además la planta sea la 1 o la 2. Si veis ocupado, que también lo hemos puesto como opción de que saliera una fila con ocupado, tendría que aparecer si la planta fuera la 1 o la 2.
00:04:50
Vamos a ver por qué no aparece ocupado porque posiblemente sea una planta diferente. Entonces, ¿dónde podemos ver la planta? Vamos a hacer un select. Vamos a quitar esto y vamos a seleccionar todo from habitaciones.
00:05:12
Vamos a poner una mayúscula y aquí también le damos a ejecutar.
00:05:36
¿Y qué nos aparece? Es que no hemos insertado ningún valor que tenga el valor ocupado.
00:05:50
Por ello, cuando le damos a esta selección, lo único que nos aparece es libre y mantenimiento.
00:05:59
Bien, y con esto tendríamos también la segunda parte.
00:06:07
estas dos líneas
00:06:10
voy a ponerlo en rojo
00:06:12
para ver que ya las hemos terminado
00:06:14
y esta también
00:06:16
repaso lo que hemos hecho
00:06:20
hemos dicho seleccioname estos cuatro campos
00:06:25
que son estos cuatro
00:06:27
desde habitaciones
00:06:28
donde estado esté comprendido
00:06:29
o sea tenga cualquiera de estos valores
00:06:33
o libre, ocupado o mantenimiento
00:06:35
y además que tengan
00:06:37
la planta sea la 1 o la 2
00:06:39
y ordenamelo de manera ascendente
00:06:41
tanto por estado como por planta.
00:06:43
Bien, si vemos estado, lo ha ordenado de manera ascendente,
00:06:46
puesto que lo ordena de manera alfabética, ¿lo veis?
00:06:51
Y luego, con respecto a planta, también de manera ascendente,
00:06:55
primero el de menor planta y luego hasta el de mayor planta.
00:06:58
Bien, ya tenemos dos.
00:07:01
Vamos a hacer otro elemento.
00:07:05
Hacemos con un...
00:07:09
Vamos a hacer, por ejemplo, el 5,
00:07:13
en el que vamos a hacer este de aquí
00:07:14
reservas del mismo régimen que una reserva dada
00:07:17
con una subconsulta
00:07:20
vamos a hacer esto de aquí
00:07:24
vamos a ponerlo en rojo
00:07:26
y nos está diciendo que listemos primero
00:07:29
número de reserva de mi cliente de régimen y fecha de entrada
00:07:31
¿de qué tabla? de la tabla de reservas
00:07:34
que tengan el mismo régimen que la reserva
00:07:38
número, el mismo régimen
00:07:43
que la reserva número 1. Vamos a ponerlo de color azul
00:07:46
y vamos a hacerlo. Entonces, primero
00:07:50
vamos a tener que coger estos cuatro campos, vamos a seleccionarlos
00:07:54
y lo que vamos a hacer ahora, vamos a
00:07:58
quitar esto y vamos a poner, será una
00:08:05
selección también, select. Ahora vamos a seleccionar el qué
00:08:12
número de reserva, de mi cliente, régimen y fecha de entrada, desde
00:08:17
¿Qué tabla? Desde la tabla reservas. Si nos fijamos en la tabla reservas, está formada por distintas columnas. No hemos cogido todas, sino que hemos cogido en la reserva, hemos cogido el cliente, el DNI del cliente, el régimen y la fecha de entrada.
00:08:21
Bien, una vez que tenemos esto, vamos a poner el from. Ya lo hemos puesto. Vamos a poner la condición. Aquí iría el where. ¿Y cuál es la condición? Nos está diciendo que la condición es que régimen sea igual a 1.
00:08:43
O sea, nos está diciendo, cójame las reservas del mismo régimen que la reserva dada. Entonces, habrá que hacer una subconsulta dentro de la misma consulta. Entonces, primero habrá que poner régimen que será igual a qué.
00:09:09
Si por otro lado, vamos a ponerla aquí, hacemos un SELECT, seleccioname régimen desde reservas donde el número de reserva sea igual a 1.
00:09:26
Si vemos esto, ¿qué nos daría? Vamos a hacerlo, vamos a quitar esto de aquí y vamos a ver qué nos daría esto. Si nosotros hacemos esto, nos daría desayuno nada más.
00:09:49
Nos está diciendo que, oye, seleccioname el régimen, el régimen que tiene aquellas reservas cuyo número de reservas sea uno, como solo es una reserva, nos está diciendo que el régimen es desayuno.
00:10:00
Si yo lo que quiero es el listado de mi reserva, de mi cliente, régimen y fecha de entrada de las reservas con el mismo régimen que esta de aquí,
00:10:13
o sea, que quiero que me coja todas las reservas que hay que tengan el mismo régimen que la reserva número uno.
00:10:30
la reserva número 1 ya hemos visto que tenía desayuno
00:10:39
entonces ahora quiero que me coja
00:10:43
muéstrame todas las reservas
00:10:44
todos los campos
00:10:47
estos cuatro campos de las reservas
00:10:48
que tengan un régimen igual
00:10:51
al de esta otra
00:10:53
por lo tanto habrá que hacer una subconsulta
00:10:54
que habrá que añadir
00:10:57
la subconsulta ya la hemos hecho, es esta de aquí
00:10:58
habrá que añadirla aquí
00:11:00
y ponerla
00:11:02
entre paréntesis
00:11:05
¿qué estamos diciendo aquí?
00:11:06
primero seleccionamos la reserva la el régimen de la reserva número uno nos devolverá desayuno y
00:11:13
lo que estamos diciendo ahora dame estos cuatro campos de todas las reservas cuyo régimen sean
00:11:20
igual a esa vez sea ya lo ejecutó me ha dado un error vamos a ver por qué tenemos algo mal
00:11:25
un régimen fecha de entrada vale esto está bien donde el régimen sea igual a
00:11:43
a regímenes de reservas donde el número de reservas sea igual a 1.
00:11:54
Lo he añadido todo en la misma fila y ahora no lo he dado de error.
00:12:05
Nos está diciendo que vamos a hacer, primero vamos a coger
00:12:08
y vamos a seleccionar todo de reservas para ver cuántas había con desayuno.
00:12:15
Cortamos y vamos a poner select todo desde reservas. Le damos y veríamos que nos sale
00:12:22
nada más que la misma que había. Tendríamos que a lo mejor insertar alguna reserva más.
00:12:40
Vamos a hacer una inserción, vamos a hacer un insert para que tengamos dos de desayuno más.
00:12:45
vale vamos a hacer en reservas vamos a insertar en reservas vamos a insertar bueno vamos a ponerlo
00:12:55
diferente vamos a poner estos 5 4 este le ponemos el 2 1 vamos a insertar como está la fecha de
00:13:11
entrada y está la fecha de salida tiene que ser mayor 4 6 2 7 y 18 bien vamos a poner aquí
00:13:26
7, aquí 8 y aquí 9. Le ponemos el DNI distinto, por ejemplo, 44, este 44 y este 44. Le ponemos igual y ahora vamos a poner 2 de desayuno.
00:13:34
Vamos a poner este desayuno. Vamos a insertarlo. Los insertamos y a ver si lo hace bien ahora. No. Vamos a poner aquí esta y esta aquí. Tenemos aquí la...
00:13:52
no puedo adicionar o actualizar
00:14:35
acordaros que reserva
00:14:43
nos faltaba
00:15:01
nreserva
00:15:02
de lo que yo copio y pego
00:15:04
ahora si estaría bien
00:15:08
dice que no puedo
00:15:10
valor 1
00:15:14
estamos diciendo que nreserva
00:15:16
claro le estamos poniendo
00:15:20
el mismo valor
00:15:22
fecha de entrada
00:15:23
Vale, nos falta un valor aquí. Como no me acuerdo, vamos a quitar esto, ya sé lo que pasa. Vamos a poner select, todo, from reservas, le damos a ejecutar y había tres reservas.
00:15:25
entonces vamos a borrarlo
00:15:48
y ponemos la línea que hemos puesto
00:15:51
vamos a
00:15:53
para que se vea completa
00:15:54
aquí
00:15:56
y si veis nos faltaría un campo que es en reserva
00:16:01
como había tres, vamos a poner la cuatro
00:16:05
la cinco
00:16:06
veis lo que estoy haciendo
00:16:12
es un error que tenía anteriormente
00:16:15
que no había metido el campo en reserva
00:16:18
Y como es un autoincremento, voy poniéndoles las tres nuevas, que serían las 4, 5 y 6. Y ahora tendría que dar bien. Y veis, sigue diciendo que no puedo actualizar porque... Vamos a ver si está bien.
00:16:20
Insert Reservas, tiene Reserva, Fecha de Entrada, Salida, 2, 4, 6, 8.
00:16:40
Aquí hemos puesto la 4, perfecto, y esta estaría bien.
00:16:46
Vamos a ponerlo así para verlo.
00:16:53
Y está bien, no nos hemos equivocado en nada.
00:17:03
La Fecha de Entrada, no sé aquí hayamos puesto las fechas mal.
00:17:08
A ver, está la fecha de reserva, que sería ahora, la fecha de entrada, que sería el mes 4, y la de salida el 7, perfecto, el 2, el 8 y el 1 y el 9. Está bien. Y el resto está bien también. No veo error. Vamos a ver. Vamos a borrar esto para ver qué error nos aparece.
00:17:11
Nos dice que, ya, pero yo no estoy actualizando, sino que estoy insertando datos. A ver, nos está diciendo que, claro, ¿qué sucede? Que habría que haber añadido primero los clientes. No puede haber una reserva sin clientes, lo habíamos fijado así.
00:17:34
Entonces, por tanto, habría que añadir en clientes esos tres clientes que he añadido nuevos. Entonces, primero habrá que añadir los clientes. Vamos a ponerlo en clientes. Vamos a poner el cliente. Os lo explico. En clientes, si nos vamos a reservas, en reservas tiene una foreign key con clientes.
00:18:12
Si esos clientes no aparecen, no existen, pues entonces no puede insertar esos valores.
00:18:43
Mientras los clientes no existan, no puedes introducir reservas.
00:18:48
Tiene su lógica.
00:18:52
Entonces, primero habrá que crear, insertar valores para los clientes.
00:18:55
Vamos a insertar esos clientes y vamos a insertarlo aquí.
00:18:58
Entonces vamos a poner los mismos clientes que hemos puesto ahí,
00:19:05
Que sería el 44. He puesto este 44 y este el 44. Vamos a hacer que se llamen igual, el teléfono igual y el email igual. Bueno, vamos a ponerlo así, aunque sean iguales.
00:19:08
Entonces, ahora primero añadir a estos tres clientes, vamos a quitarles López, vamos a poner García Muñoz, este vamos a poner Martín Tara y Sánchez Opañel.
00:19:32
Vale, entonces aquí en Ana García que habíamos puesto sería igual, pero vamos a quitarle, por ejemplo, esto a Martín, le quitamos esto y en Sánchez vamos a quitarle esto.
00:20:02
Estamos creando dos disimulantes y luego en cuanto a fecha de alta vamos a dejar en el mes 1, en el mes 5 y en el mes 11.
00:20:16
Y ya tendríamos los tres nuevos clientes. Una vez generados esos clientes, ya su DNI cliente, ya el reservas está asociado a este DNI cliente que aparece aquí, ¿lo veis? Y entonces ya sí puede realizar las reservas. Le damos y no tendría que darnos ningún problema, ¿lo veis? Ya no nos ha dado ningún problema.
00:20:27
Bien, ya tenemos las dos inserciones y tenemos tres clientes más con tres reservas más. Vamos a seleccionar todo desde reservas y vemos que nos tendrá que salir los seis.
00:20:48
ahora tenemos las 6
00:21:09
y ya tenemos varias de desayuno
00:21:11
para que podamos hacer
00:21:13
la
00:21:15
me ha añadido el insert
00:21:16
tendría que ahora
00:21:19
hacer de nuevo
00:21:20
el
00:21:22
tengo que hacer de nuevo
00:21:24
lo que era la
00:21:26
el punto 5
00:21:28
entonces tendremos que hacer
00:21:30
el select
00:21:33
seleccioname, acordaos
00:21:34
en reserva
00:21:37
Era DNI cliente, régimen y fecha de entrada.
00:21:39
Sí, from reservas, ¿vale?
00:21:52
En donde el where era que régimen, acordaos, el régimen fuera igual al de la subconsulta,
00:21:57
que es select, seleccioname régimen from reservas, donde nreserva fuera igual a 1.
00:22:07
Creo que está bien. Entonces, reserva igual a 1.
00:22:31
acordaos, esta subconsulta
00:22:35
lo que hace es que me coge
00:22:38
el régimen
00:22:39
de la reserva número 1
00:22:42
que acordaos que tenía desayuno
00:22:43
y aquí estamos diciendo que
00:22:46
oye, ahora cógeme estos cuatro campos
00:22:48
desde reservas, aquellos cuyo régimen
00:22:49
sea igual al de la reserva 1
00:22:52
o sea, todos aquellos que tengan
00:22:53
desayuno, como hemos añadido dos más
00:22:55
tendrá que salir tanto
00:22:57
nos saldrá
00:22:59
tanto el número 1 como las dos
00:23:01
nuevas que hemos añadido, vamos a darle a ejecutar
00:23:03
y algo hemos hecho mal, vale, a ver
00:23:06
algo he escrito mal, en reserva
00:23:09
DNI cliente régimen fecha
00:23:11
de entrada desde reservas, está bien
00:23:13
donde régimen
00:23:15
sea igual
00:23:17
a que A, seleccioname
00:23:20
muy bien
00:23:21
régimen desde
00:23:22
reservas donde N
00:23:25
reserva es igual a
00:23:27
1
00:23:29
pues lo veo bien, vamos a poner
00:23:30
y ya estaría, veis nos aparecen las tres
00:23:35
si hubiéramos puesto aquí
00:23:41
que me sacara en reserva
00:23:44
DNI cliente, régimen y fecha de entrada desde la tabla de reservas
00:23:49
que fueran distintas
00:23:53
vamos a poner aquí distintas
00:23:56
al de la reserva número uno, o sea desayuno
00:23:59
me saldrían todas las demás.
00:24:08
O sea, media pensión, pensión completa y pensión completa.
00:24:11
¿Veis?
00:24:13
Y con esto tendríamos también realizada la tercera.
00:24:15
¿Qué más podemos utilizar que alguna que sea sencilla?
00:24:22
Ya digo que de todas estas 12,
00:24:28
El resto las haremos cuando tengamos la videoconferencia. Voy a hacer una más y lo dejamos aquí. Vamos a coger la media de importe por factura y ordenarlas, que sería la número 9, que sería esta de aquí.
00:24:32
para cada factura con líneas
00:24:51
mostrar en el factura
00:24:57
media importe de línea
00:24:59
redondada a dos decimales
00:25:01
y ordenar de mayor a menor
00:25:03
vamos a poner esto de color azul
00:25:05
que es lo que nos está pidiendo
00:25:07
entonces
00:25:09
¿qué es lo que realmente nos está pidiendo?
00:25:10
para cada factura con líneas
00:25:14
o sea, solo aquellas que tengan líneas
00:25:16
que nos muestre todo esto
00:25:18
esto es la media de importe
00:25:20
en medio de importe línea
00:25:22
entonces vamos aquí
00:25:25
vamos a borrar esta de aquí
00:25:27
y vamos a poner
00:25:29
será un select igual, seleccioname
00:25:35
ahora aquí, que necesitamos que nos seleccione
00:25:37
nos va a tener que
00:25:39
seleccionar la media
00:25:41
la media
00:25:43
acordaos que teníamos aquí
00:25:45
facturas
00:25:47
en el que las columnas de factura
00:25:52
estaba nada más que en factura
00:25:54
fecha factura y en reserva
00:25:56
Y dentro de facturas estaban las líneas de factura que realmente son las que tienen el importe, que es lo que nos está pidiendo. Entonces, para cada factura con líneas, me vas a mostrar esas líneas a qué factura pertenecen, que será el N factura.
00:25:58
Entonces, ya estaba diciendo que me seleccione el n factura. ¿Y qué más quiere? Y quiere además que me saque la media del importe de línea, redondada a dos decimales y ordenado de mayor a menor.
00:26:13
Bien, vamos a poner una función que sería la que nos va a obtener la media, que sería AVG. AVG nos va a permitir obtener la media de importe. Importe sería el importe de las líneas de factura.
00:26:34
Pero claro, queremos asociado a n factura. Acordaos que una n factura tiene varias líneas de factura. Entonces hay que agrupar cada factura, agrupar las líneas de factura por factura. Me explico.
00:26:58
Si nosotros tenemos, esto era facturas y esto era líneas de factura.
00:27:16
¿Veis? Una factura, ¿qué va a tener? Va a tener varias líneas de factura.
00:27:24
¿Qué quiere decir? Vimos, factura era entidad fuerte, línea de factura, entidad débil.
00:27:28
¿Por qué? Porque una línea de factura es un detalle de la factura.
00:27:34
Entonces, si la factura no existe, línea de factura no va a existir, por eso es una entidad débil.
00:27:37
Entonces, una factura va a tener varias líneas de factura.
00:27:43
Imaginaos cómo aparece aquí. Tiene la línea de factura alojamiento, la línea de desayuno y la línea de suplemento por persona extra. Las tres líneas de factura están dentro de una misma factura y por tanto tendrá una N factura aplicada.
00:27:45
Si nosotros lo que queremos es obtener el importe medio, la media del importe de línea, redondada a dos decimales, habrá que agrupar por n factura, porque hemos dicho que una factura o una n factura tiene varias líneas de factura.
00:28:00
Entonces, aquí habrá que añadir, vamos a ponerlo debajo, un group by, que lo agrupe por n factura.
00:28:28
Al agruparlo por n factura, estamos diciendo que, luego lo veremos con un ejemplo, que para una determinada n factura habrá una serie de líneas de factura y establecerá la media.
00:28:44
¿De dónde, desde qué tabla vamos a generar esto? Vamos a hacerlo desde la tabla de líneas factura.
00:28:54
también nos ha dicho
00:29:08
que lo quiere agrupar
00:29:14
o sea perdón
00:29:16
que lo quiere ordenar de mayor a menor
00:29:17
por lo tanto habrá que poner un order by
00:29:19
también
00:29:22
como va
00:29:22
de mayor a menor
00:29:25
lo que va a hacer es que va a ser
00:29:27
descendente
00:29:29
pero al ser de mayor
00:29:30
a menor y lo queremos de manera descendente
00:29:36
que es lo que queremos ordenar
00:29:38
va a ser lo que vamos a ordenar es la media
00:29:39
de línea de factura. Entonces, aquí, como este media del importe, lo vamos a llamar media importe línea. ¿Para qué? Para que luego lo podamos ordenar aquí
00:29:42
de manera descendente por media importe línea.
00:30:04
De tal manera que la media de los importes de línea
00:30:12
va a aparecer de manera descendente, de mayor a menor.
00:30:16
Bien, ¿qué nos quedaría más aparte de todo esto?
00:30:19
Ya estaría de manera completa.
00:30:24
Vamos a ver si esto...
00:30:26
Bueno, nos ha quedado también que nos pide que sea redondeada
00:30:30
dos decimales para redondear a dos decimales se hace con la
00:30:34
primero el importe que hemos puesto aquí
00:30:38
se hace con la función round
00:30:42
que sería esta, lleva dos campos dentro
00:30:45
uno sería el importe y luego
00:30:51
el número de decimales a los que queremos redondear, que van a ser dos
00:30:55
y quedaría así, esto nos haría la media del importe y
00:30:59
lo redondearía a dos decimales. Vamos a ver si se ejecuta y vemos que nos aparece aquí la media
00:31:03
de 450, 230 y 175. Para ver esto que hemos hecho, si es correcto o no, vamos a ver la factura 3,
00:31:11
la 2 y la 1 para ver la media. Entonces vamos a quitar esto de aquí y vamos a seleccionar
00:31:22
Todo from facturas, líneas, factura. Le damos y nos aparece, como nos está diciendo, aquí tendríamos que para la factura 1 tenemos alojamiento y desayuno.
00:31:30
cuál sería la media de las líneas de factura de la factura 1
00:31:57
sería 350 entre 2
00:32:04
cuál sería la media de la factura 2
00:32:08
de la línea de factura 2 sería 460 entre 2
00:32:12
y la de la factura 3 sería 900 entre 2
00:32:16
vamos a ver si eso realmente tendría que haber aparecido
00:32:20
Hay 350 entre 2 son 175. En la factura 2 serían 460, serían 230 y en el 900 sería 450. Entonces vamos a verlo y si se corresponde o no. Y vemos que realmente es lo que está haciendo.
00:32:23
¿Qué está haciendo? Vamos a ponerlo para que quede mejor. Select as order by IDEX. Lo explicamos de nuevo. Me está diciendo, oye, seleccióname la factura, porque esta sería la primary key de facturas, la que tenemos aquí.
00:32:45
facturas sería aquí
00:33:23
es nfactura
00:33:27
esa sería la primera equidad de factura
00:33:29
primero me selecciono la factura
00:33:31
ya hemos visto que hay tres facturas
00:33:34
la número uno, la dos y la tres
00:33:35
luego házme la media
00:33:37
del importe
00:33:39
pero al poner aquí un group by
00:33:41
por nfactura
00:33:44
me está cogiendo
00:33:45
agrúpame todas las líneas de factura
00:33:46
de la factura uno
00:33:49
agrúpame todas las líneas de factura de la factura dos
00:33:50
y agrúpame todas las líneas de factura de la factura 3.
00:33:52
Me las agrupas por n facturas, o sea, por 1, por 2 y por 3,
00:33:57
y de cada una de ellas hazme la media de las líneas de factura.
00:34:00
Entonces coge la factura número 1 y tiene dos líneas de factura,
00:34:04
lo que hace la media de su importe y la redondea a continuación a dos decimales.
00:34:08
Todo eso, ponle el alias de media importe línea.
00:34:15
a continuación nos dice que eso lo va a realizar
00:34:21
desde el líneas de factura, lógicamente
00:34:24
que es donde están las líneas de factura
00:34:26
hemos dicho que lo agrupaba por nFactura
00:34:27
y a su vez lo ordena por medio de este campo
00:34:30
que es un importe de línea que hemos creado ahora
00:34:33
que es el alias de toda esta operación
00:34:35
que lo ordene de manera descendente
00:34:37
y lo saca
00:34:40
y lo dejamos aquí
00:34:41
esta también la hemos realizado
00:34:46
y nos quedarían bastantes
00:34:48
pero el vídeo sería muy largo. El resto de consultas las haremos en la videoconferencia,
00:34:52
puesto que son consultas muy parecidas a las que os he puesto en la tarea.
00:35:06
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Francisco J. González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 4
- Fecha:
- 17 de enero de 2026 - 11:46
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 35′ 18″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 692.03 MBytes