Borykam się z pewnym problemem. Mam dwie tabele i nie mogę osiągnąć zadowalającego z efektu. Tabele:
kolor:
+------------+----------------+
| id_kol | int(11) | // ID
| ral | int(4) | // ID koloru
| k_hex | tinytext |
| k_rgb | tinytext |
+------------+----------------+
alterna:
+------------+----------------+
| id_alt | int(11) | // ID
| color | int(4) | // ID koloru z poprzedniej tabeli
| alternativ | tinytext | // wartość
| a_range | enum('0', '1') | // 0 - NCS, 1 - Pantone
| a_rating | int(1) | // wartość
+------------+----------------+
Chciałbym uzyskać taki efekt:
+---------+-------------+
| ral | 1111 | // kolor z pierwszej tabeli
| ncs | 2020-Y ** | // alternatywny z drugiej tabeli (a_range=0, a_rating=2)
| | 2020-G90Y * | // alternatywny z drugiej tabeli (a_range=0, a_rating=1)
| pantone | 5855 C *** | // alternatywny z drugiej tabeli (a_range=1, a_rating=3)
| | 4535 C ** | // alternatywny z drugiej tabeli (a_range=1, a_rating=2)
| | 7502 C * | // alternatywny z drugiej tabeli (a_range=1, a_rating=1)
+---------+-------------+
Moje zapytanie do bani:
SELECT *
FROM kolor
LEFT JOIN alterna AS c1 ON kolor.id_kol=c1.color AND c1.a_range='0'
LEFT JOIN alterna AS c2 ON kolor.id_kol=c2.color AND c2.a_range='1'
Nie umiem pozbyć się duplikatów...