| |||
Respuesta: Sentencia Cita: En si por razones de la aplicación esta tabla no tendria una PK. Por lo tanto necesito saber las veces que se repita un registro. No importa si por el nombre o por el codigo.En realidad y siendo mas Especificos, necesito Saber para una aplicacion de un restaurante, Que plato se vendio mas. Es decir yo hago el registro en una tabla en donde el codigo del plato se puede repetir cuantas veces se venda, y asi poderlo sacar cuando lo necesite. obteniendolo con un rango de Fechas con un Between Muchas Gracias. |
| |||
Respuesta: Sentencia Suponiendo que tus campos son: - Código plato (idPla) - Nombre plato (nomPla) Podrías hacer el siguiente select en la tabla PLATOS:
Código SQL:
Ver original |
| ||||
Respuesta: Sentencia Cita: En realidad, según tu descripción:En si por razones de la aplicación esta tabla no tendria una PK Cita: Sí tienes una PK en esa tabla, solamente que no la has definido...Que plato se vendio mas. Es decir yo hago el registro en una tabla en donde el codigo del plato se puede repetir cuantas veces se venda, y asi poderlo sacar cuando lo necesite. obteniendolo con un rango de Fechas Desde el momento en que una instancia de plato se vende en un momento dado del tiempo (momento en que ingresa), puedes perfectamente definir una PK como (id_plato, fecha_venta), o bien simplemente creando una sequence, para el caso en que un mismo plato salga dos o más veces en transacciones concurrentes de venta. Lo que jamás debes hacer (y eso te lo enseñan en la primera clase de Base de Datos I) es crear una tabla sin PK. Eso no se debe hacer jamás, incluso aunque en la aplicación nunca uses para nada esa PK. Como desarrollador de BBDD, tienes cierta obligación de hacer las cosas bien, aunque luego los programadores hagan cualquier cosa insensata. No te olvides que en ese sentido tu función es proteger los datos, no obedecer a ciegas a los programadores en las fantasías que luego imaginan. Te lo digo por experiencia. Uno, como DBA, le da acceso a los datos, a los resultados, a las capacidades de información. Pero al que cortan la cabeza cuando algo sale mal no es al programador... Es al DBA.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: Sentencia Muchas Gracias a Ueki por la solución y a GNZsoloyo por el consejo, tienes razon es mejor seguir las reglas que nos enseñan, aunque en realidad no necesite un Pk en la tabla, de todas maneras usaré una sequence. Gracias. y a Ueki, Gracias, El max era la solución creo que ese y el group By fueron cosas que no tomé en cuenta, siendo muy basicas. |
Etiquetas: |