2010-11-20 4 views
2

많은 테이블을 하나의 쿼리로 매시 (mash)하여 날짜별로 정렬하려고합니다.mySQL union 리턴 테이블 이름

그러나 필자는 정보를 제공하는 테이블을 정의하는 열을 원합니다.이 방법으로 PHP를 사용하여 데이터를 어떻게 처리할지 결정할 수 있습니다.

내가 날짜에 의해 잘 주문 작동 지금까지

SELECT DATABASE() as source, title AS MAIN, id as ID, date 
    FROM collection WHERE userID = '1234' 
    UNION 
    SELECT DATABASE() as source, body, id, date 
    FROM blog WHERE posterID = '1234' 
    ORDER BY date DESC 

이 있지만 "소스"열은 어쨌든

인가 데이터베이스를 "myusername.dabtabaseName을"이 반환 것입니다 mySQL은 그것이 나온 TABLE 이름을 반환 할 수 있습니까? 설명서를 둘러 보았지만 아무 것도 찾을 수 없었습니다.

감사합니다.

답변

6

왜 간단하지 않습니까?

SELECT DATABASE() as source, 'Collection' as TblName,title AS MAIN, id as ID, date 
     FROM collection WHERE userID = '1234' 
     UNION 
     SELECT DATABASE() as source, 'Blog' as TblName,body, id, date 
     FROM blog WHERE posterID = '1234' 
     ORDER BY date DESC 

나는 등, 당신은 서브 쿼리를 가질 수 있기 때문에 SQL의 방언, 당신에게 쿼리의 테이블 이름을 표시하는 기능을 제공합니다 조인 의심

내가 바보가 된 기분 ..Wow
+0

... 하하 ! 감사! – Moe

+0

질문을해도 어리 석을 느끼지 않아야합니다. – Sparky