Хорошо, я вытаскиваю свои волосы этим.
У меня есть таблица с именем products_bind_variant
itemId int(10)
productId int(10)
variantId int(10)
OptionId ссылается на тип, будь то размер, цвет и т. Д.
Эта таблица является вариантом
variantId int(10)
name varchar(150)
grouping varchar(150)
Значением группировки будет что-то вроде размера, цвета, диапазона и т. Д. И т. Д.
Мои варианты данных tavble находятся здесь:
|1|Small|Size
|2|Medium|Size
|3|Large|Size
|4|Red|Colour
|5|White|Colour
|6|Blue|Colour
|7|Extra Large|Size
|8|1-3 years|Range
|9|3-10|Range
Мои данные products_bind_variant находятся здесь:
|1|69|5
|7|69|6
|8|69|8
|9|69|9
|10|69|4
|12|69|1
|18|69|3
|19|69|2
|20|69|7
Я хочу запросить, чтобы определить комбинации для параметра вести себя и показать только идентификаторы комбинаций из одной группы.
Iпопытался использовать
SELECT a.productsid,
a.variantid,
b.variantid
FROM products_bind_variant a
INNER JOIN products_bind_variant b
ON a.variantid < b.variantid
Однако, это возвращает 36 результатов, потому что оно сопоставляет себя с собой.Мне нужно это учитывать, чтобы найти только комбинации между типом группировки, которые бы составляли 24 комбинации.
Так что в основном это что-то вроде запроса идентификаторов.
Итак
69| 1,4,8
для малого, красного, 1-3 года
Вот комбинации, которые мне нужно сгенерировать, но не имена, ID варианта
Blue, 1-3 Years, Extra Large
Blue, 3-10 Years, Extra Large
Blue, 1-3 Years, Large
Blue, 3-10 Years, Large
Blue, 1-3 Years, Medium
Blue, 3-10 Years, Medium
Blue, 1-3 Years, Small
Blue, 3-10 Years, Small
Red, 1-3 Years, Extra Large
Red, 3-10 Years, Extra Large
Red, 1-3 Years, Large
Red, 3-10 Years, Large
Red, 1-3 Years, Medium
Red, 3-10 Years, Medium
Red, 1-3 Years, Small
Red, 3-10 Years, Small
White, 1-3 Years, Extra Large
White, 3-10 Years, Extra Large
White, 1-3 Years, Large
White, 3-10 Years, Large
White, 1-3 Years, Medium
White, 3-10 Years, Medium
White, 1-3 Years, Small
White, 3-10 Years, Small
Буду признателен за любую помощь.