2017-11-10 10 views
1

이것은 내 쿼리입니다. 나는 여전히 MySQL 조인을 사용하고 있습니다. 난 당신이 내가 사용하는 코드에 scaisEdge에 동의 부질어떻게이 mysql UNION 쿼리를 계산합니까?

select count(*) from (

    SELECT * 
    FROM `users` 
    WHERE id = '4' 
    UNION 
    SELECT * 
    FROM `users` 
    WHERE id IN 
    (SELECT level 
    FROM `users` 
    WHERE id = '4') 
    AND status = '1') t 
+0

달성하려는 결과는 무엇입니까? – Matt

+0

그냥 결과를 계산하고 싶습니다. –

+0

다음 답변으로 충분합니다. 그러나 Jim이 주석으로 언급했듯이, 두 번째 부분은 WHERE 레벨 IN (SELECT 수준 FROM ...이 아닌 WHERE id IN (SELECT 레벨 FROM ...'? – Matt

답변

0

....이 쿼리의 수를 좀하고 싶습니다. 그러나 하위 쿼리에서 여기에서 무엇을하려고합니까? 이것은 ID를 찾는 것처럼 보이지만 IN 문에 대해 'Level'을 선택 했습니까? LEVEL이 ID와 같지 않으면 아무 것도하지 않습니다.

SELECT * 
FROM `users` 
WHERE id IN 
(SELECT level 
FROM `users` 
WHERE id = '4') 
AND status = '1' 
0

를 셀 수

SELECT * 
FROM `users` 
WHERE id = '4' 
UNION 
SELECT * 
FROM `users` 
WHERE id IN 
(SELECT group_id 
FROM `users` 
WHERE id = '4') 
AND status = '1'