Я пытаюсь написать простой JOIN, который должен соответствовать двум очень элементарным условиям. Рассмотрим эти таблицы:MYSQL имеет много связей с condiitons
'attrbibute_variations'
id | attribute_product_variation_id | variation_id
--------------------------------------------------
286 | 136 | 57
287 | 136 | 59
288 | 136 | 73
'вариации'
id | attribute_id
-----------------
57 | 1
59 | 5
73 | 12
Я хочу присоединиться на variations
, где эти идентификаторы совпадают:
attribute_product_variation_id = 136
AND
variation_id = 57 AND 73
My SQL является следующим образом, но дает пустой набор:
SELECT
*
FROM
`attribute_variations` AS `AttributeVariation`
INNER JOIN
variations` AS `Variation`
ON (
(
(
`AttributeVariation`.`variation_id` = `Variation`.`id`
)
AND (
`Variation`.`id` = 57
)
)
AND (
(
`AttributeVariation`.`variation_id` = `Variation`.`id`
)
AND (
`Variation`.`id` = 73
)
)
)
WHERE
`AttributeVariation`.`attribute_product_variation_id` = 136
Кажется, достаточно просто, но результатом является пустой набор?
Заранее благодарен!
У вас нет 'Variation'''''' 73 и' Variation'.'id' = 57 в то же время, что вы не повторяете AttributeVariation'.'variation_id' = 'Variation'.'id' по какой-то причине. – Mihai
Нужен ли мне другой тип JOIN, это не сложно –
Каковы ваши ожидаемые результаты? Обычно это обрабатывается с помощью агрегации. – sgeddes