Υποψιάζομαι ότι αυτό που περιγράφεις είναι μια ατυχής ανάλυση και υλοποίηση του χρώμα-μέγεθος σε εμπορική εφαρμογή. Έτσι όπως έχει σχεδιαστεί, με τις 4 δοτές στήλες μέσα στον πίνακα του προϊόντος, πρέπει να καταφύγεις σε επικίνδυνα ακροβατικά για να κάνεις την οποιαδήποτε διαχείριση. Ήδη, ξεκινώντας από αυτή τη φαινομενικά απλή αναζήτηση έχουν αρχίσει τα προβλήματα. Σκέψου ότι αύριο θα έχεις περισσότερα διαθέσιμα χρώματα, θα θέλεις δίχρωμα προϊόντα ή τα 4 χρώματα ανά προϊόν θα γίνουν 5. Αν αυτό που περιγράφεις δεν αφορά πανεπιστημιακή εργασία, κάποιες από αυτές τις αλλαγές είναι βέβαιες.
Θα ήταν προτιμότερο να έχεις τον πίνακα των προϊόντων Product(ProductId, ProductName), τον πίνακα των διαθέσιμων χρωμάτων Color(ColorId, ColorName, RGB) και να τα συνδέεις μεταξύ τους με σχέση πολλά προς πολλά ProductColors(ProductId, ColorId). Τότε το ερώτημά σου θα ήταν κάτι του τύπου:
SELECT Product.ProductId, ProductName
FROM Product
INNER JOIN ProductColor PC1 ON Product.ProductId = PC1.ProductId AND PC1.ColorId=@Color1
INNER JOIN ProductColor PC2 ON Product.ProductId = PC2.ProductId AND PC2.ColorId=@Color2
INNER JOIN ProductColor PC3 ON Product.ProductId = PC3.ProductId AND PC3.ColorId=@Color3
Αν πάλι δεν έχεις δυνατότητα να επέμβεις στο σχήμα των πινάκων σου, τότε μπορείς να προσομοιώσεις το παραπάνω σχήμα με ένα view του τύπου
CREATE VIEW ProductColor
AS
SELECT ProductId, Color1 AS Color
FROM Product
UNION
SELECT ProductId, Color2 AS Color
FROM Product AS P2
UNION
SELECT ProductId, Color3 AS Color
FROM Product AS P3
UNION
SELECT ProductId, Color4 AS Color
FROM Product AS P4
Αλλά αν σου πω ότι μου αρέσει αυτό θα σου πω ψέματα 
Νατάσα Μανουσοπούλου