2013-11-22 3 views
0

Я обнаружил, что MySql не поддерживает коррелированные запросы в соединениях. Можно ли переписать предоставленный (простой) запрос, сохраняя его логическим?MySQL как использовать коррелированный запрос в соединении

SELECT * 
FROM tableX AS x 
LEFT JOIN ( 
    SELECT y.xFK, COUNT(y.id) AS y_count 
    FROM tableY AS y 
    WHERE y.xFK = x.id 
    GROUP BY y.xFK 
) AS sub 
ON sub.xFK = x.id 
WHERE sub.y_count > 1 

Заранее спасибо.

ответ

0

Это то, что вы хотите?

SELECT 
    x.*, COUNT(y.ID) AS y_count 
FROM tableX x 
    LEFT JOIN tableY y 
    ON y.xFK = x.ID 
GROUP BY 
    x.ID 
HAVING 
    y_count > 1 
Смежные вопросы