I'm trying to advance my knowledge of SQL queries but am getting stuck on a many-to-many relationship query.
Using PHP and MySQL database structure is as follows:
Database structure:
--------------------------------------------
| colour |
--------------------------------------------
| colour_id | colour |
--------------------------------------------
| 1 | blue |
--------------------------------------------
| 2 | red |
--------------------------------------------
############################################
--------------------------------------------
.
-----------------------------------------------------------------
| product_colours |
-----------------------------------------------------------------
| id | product_id | colour_id |
-----------------------------------------------------------------
| 1 | 1 | 2 |
-----------------------------------------------------------------
| 2 | 2 | 1 |
-----------------------------------------------------------------
#################################################################
-----------------------------------------------------------------
MAIN TABLE
-----------------------------------------------------------------
| products |
-----------------------------------------------------------------
| id | name | details |
-----------------------------------------------------------------
| 1 | product 1 | blah |
-----------------------------------------------------------------
| 2 | product 2 | blah |
-----------------------------------------------------------------
#################################################################
-----------------------------------------------------------------
-----------------------------------------------------------------
| product_group_names |
-----------------------------------------------------------------
| id | product_id | group_name_id |
-----------------------------------------------------------------
| 1 | 1 | 1 |
-----------------------------------------------------------------
| 2 | 2 | 2 |
-----------------------------------------------------------------
#################################################################
-----------------------------------------------------------------
--------------------------------------------
| group_name |
--------------------------------------------
| group_name_id | group_name |
--------------------------------------------
| 1 | product_group_1 |
--------------------------------------------
| 2 | product_group_2 |
--------------------------------------------
############################################
--------------------------------------------
Could I write one query using joins which says: SELECT * colours WHERE group_name = product_group_1?
Any help would be amazing. Thank you so much.