У меня есть три таблицы, которые я не могу изменить структуру:MYSQL: Выбор записей по отношению к нескольким строкам таблиц многократных
фаски
id name
-----------------
1 Series
2 Material
значение
id facet_id name
----------------------------------
1 2 Glass
2 2 Metal
3 1 Series #1
4 1 Series #2
5 1 Series #3
product_facet_values
product_id value_id
-----------------------------------
1 1
1 3
2 1
2 4
3 2
3 5
4 1
Я пытаюсь написать два запроса:
/1. Один, который вернет идентификаторы, которые представляют фасет серии из таблицы значений, где запись продукта является Glass и имеет любую серию. Так выход, как это:
id facet_id name
----------------------------------
3 1 Series #1
4 1 Series #2
- Запись 1 является не серии.
- Запись 2 является не серии.
- Запись 3 возвращается, потому что продукт № 1 имеет как серию, так и материал, а материал - стекло.
- Запись 4 возвращается, потому что продукт № 2 имеет как серию, так и материал, а материал - стекло.
- Запись 5 является не, так как продукт № 3 имеет материал металла, хотя он имеет как серию, так и материал.
/2. То же, что и номер один, но верните список идентификаторов продуктов.
product_id
---------------
1
2
- Продукт # 1 возвращается, потому что он имеет как ряд и материал и материал стекло.
- Товар # 2 возвращается, потому что он имеет как серию, так и материал, а материал - стекло.
- Товар №3 не не был возвращен, потому что он имеет материал металла, хотя он имеет как комплект, так и набор материалов.
- Товар № 4 не не был возвращен, потому что у него нет серий, даже если материал является стеклом.
звучит великолепно. что вы пробовали? –
@ john-ruddell Я не очистил это, но эти и их варианты: https://gist.github.com/patrickheeney/f9e47ae81c1e01733111 – Patrick