SQL - Traer un solo dato de tabla relacional por cada registro

 
Vista:
Imágen de perfil de Rosman
Val: 8
Ha aumentado su posición en 12 puestos en SQL (en relación al último mes)
Gráfica de SQL

Traer un solo dato de tabla relacional por cada registro

Publicado por Rosman (3 intervenciones) el 24/09/2020 05:54:19
Ante todo buen(as) dia / tardes

Mi pregunta se me dificulto explicarlo por esta via asi que lo explique en la imagen, busco traerme una sola imagen por cada fila del registro para hacer una lista, pero repito, creo que mejor lo explique en la imagen para que entiendan lo que busco hacer en MySql (mariaDB)
mi-pregunta-sql
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Traer un solo dato de tabla relacional por cada registro

Publicado por Isaias (1921 intervenciones) el 25/09/2020 16:28:57
Hola, ¿En que motor de base de datos vas a implementar tu modelo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rosman
Val: 8
Ha aumentado su posición en 12 puestos en SQL (en relación al último mes)
Gráfica de SQL

Traer un solo dato de tabla relacional por cada registro

Publicado por Rosman (3 intervenciones) el 26/09/2020 18:52:21
en MariaDB o que es lo mismo phpmyadmin
Si hay una manera cierto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Traer un solo dato de tabla relacional por cada registro

Publicado por Isaias (1921 intervenciones) el 29/09/2020 13:45:18
Pues debería poderse, desconozco el motor de base de datos MariaDB, pero la relacion es simple, uno hacia muchos, ¿Cómo obtengo el primer registro de imagen?, pues debe existir algun verbo de lenguaje que sea similar al MIN y agruparlo por id de características
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rosman
Val: 8
Ha aumentado su posición en 12 puestos en SQL (en relación al último mes)
Gráfica de SQL

Traer un solo dato de tabla relacional por cada registro

Publicado por Rosman (3 intervenciones) el 30/09/2020 07:26:47
mariaDB es lo mismo que MySql pero el de phpmyadmin (por temas legales tuvieron que crear su base de datos aunque es el msmo MySql antes de la compra por parte de microsoft) pero me esta indicando que puedo traerme una sola de las imagenes que tiene relacionada de todos los textos usando el min?? dejame intentar y te comento, muchas gracias por el dato
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 150
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Traer un solo dato de tabla relacional por cada registro

Publicado por Francisco (62 intervenciones) el 30/09/2020 18:37:11
Hola

Prueba con lo siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
drop table IF EXISTS imagenes;
drop table IF EXISTS caracteristicas;
 
 
Create table caracteristicas (
	id Int UNSIGNED NOT NULL AUTO_INCREMENT,
	texto Varchar(100),
	Index AI_id (id),
 Primary Key (id)
) ENGINE = InnoDB;
 
Create table imagenes (
	id Int UNSIGNED NOT NULL AUTO_INCREMENT,
	ruta_imagen Varchar(100) NOT NULL,
	caracteristicas_id Int UNSIGNED NOT NULL,
	Index AI_id (id),
 Primary Key (id),
 Constraint R001 Foreign Key (caracteristicas_id) references caracteristicas (id) on delete  restrict on update cascade
) ENGINE = InnoDB;
 
INSERT INTO caracteristicas(texto) VALUES ('Hola mundo');
INSERT INTO caracteristicas(texto) VALUES ('Comida rapida');
INSERT INTO caracteristicas(texto) VALUES ('Politica');
 
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_uno.jpg',1);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_dos.jpg',1);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_tres.jpg',1);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_cuatro.jpg',2);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_cinco.jpg',2);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_seis.jpg',2);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_siete.jpg',3);
INSERT INTO imagenes(ruta_imagen, caracteristicas_id) VALUES('imagen/imagen_ocho.jpg',3);
 
 
SELECT c.*,
 
  (SELECT i.ruta_imagen
   FROM imagenes AS i
   WHERE i.caracteristicas_id=c.id
   ORDER BY i.id
   LIMIT 1) AS imagen
FROM caracteristicas AS c;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar