2011-03-20 3 views
2

UNION과 병합 된 두 개의 SELECT 쿼리가 있습니다.MySQL UNION - 결과를 반환하는 몇 개의 SELECT를 찾습니다.

SELECT `id`,`type`,`text` 
    FROM my_table 
WHERE position = '1' 
    AND status = '1' 
    AND targeting = 'all' 
UNION 
SELECT `id`,`type`,`text` 
    FROM my_table 
WHERE position = '1' 
    AND status = '1' 
    AND targeting LIKE '%US%' 

가 어떻게 무엇을 필요로 행의 결과 인출하기 위해 TRUE로 실행이 두 SELECT 쿼리로 찾을 수 있습니다 : 여기에서 MySQL의 쿼리입니다?

당신은 쿼리의 어느 부분에 따라 다른 상수를 반환하는 쿼리에 여분의 열을 추가 할 수 있습니다

답변

7

성공 : 또한

SELECT 'query1' AS `src`, `id`, `type`, `text` 
FROM my_table 
WHERE position = '1' AND status = '1' AND targeting = 'all' 

UNION ALL 

SELECT 'query2' AS `src`, `id`, `type`, `text` 
FROM my_table 
WHERE position = '1' AND status = '1' AND targeting LIKE '%US%' 

을이 경우에 당신이 전혀 UNION 필요가 없습니다

SELECT 
    targeting LIKE '%US%' AS `targeting_like_us`, 
    targeting = 'all' AS `targeting_equals_all`, 
    `id`, 
    `type`, 
    `text` 
FROM my_table 
WHERE position = '1' 
AND status = '1' 
AND (targeting LIKE '%US%' OR targeting = 'all') 
+0

@ Mark Byers 어떻게 PHP 스크립트에서 사용할 수 있습니까? 말해, 제발! – ilnur777

+1

@ ilnur777 : 지금까지 뭐 가지고 있니? 현재 PHP 스크립트를 게시 할 수 있습니까? –

+0

@Mark Byers 행에 설정된 타겟팅에 따라 my_table에서 하나의 행을 가져와 광고 위치에 표시하는 SELECT 쿼리가 필요합니다. 광고주는 임의의 배너 표시 스크립트를 사용하여 대상 방문자 또는 모든 방문자에게만 표시됩니다. – ilnur777

관련 문제