Saltar al contenido

Producto cartesiano MySQL entre dos declaraciones SELECT

Carmen, miembro de nuestro equipo de trabajo, nos ha hecho el favor de redactar esta reseña ya que domina a la perfección este tema.

Solución:

Si especifica sus tablas sin ninguna JOIN ON cláusula o igualdades/condiciones en el WHERE cláusula obtendrá el producto catesiano que está buscando.

SELECT table1.field1, table2.field2
FROM table1, table2

te dará lo que estás pidiendo. Mostrándolo más explícitamente…

SELECT * FROM table1;
+--------+
| field1 |
+--------+
|      1 |
|      2 |
+--------+

SELECT * FROM table2;
+--------+
| field2 |
+--------+
|      3 |
|      4 |
+--------+

SELECT table1.field1, table2.field2 FROM table1, table2;
+--------+--------+
| field1 | field2 |
+--------+--------+
|      1 |      3 |
|      2 |      3 |
|      1 |      4 |
|      2 |      4 |
+--------+--------+

Puede usar la cláusula CROSS JOIN

SELECT MyTable1.Col1, MyTable2.Col2
FROM MyTable1
CROSS JOIN MyTable2

donde MyTable1 tiene dos filas que contienen 1 y 2; y MyTable2 tiene dos filas que contienen 3 y 4.

Sección de Reseñas y Valoraciones

Si aceptas, tienes el poder dejar un tutorial acerca de qué le añadirías a este artículo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *