2013-04-27 3 views
1

안녕하세요, 데이터베이스의 테이블을 검색 할 때 유니언을 사용하고 있습니다.MySQL - 검색 결과의 열에서 테이블 이름 찾기

필자는 열에있는 테이블의 이름을 받아서 데이터를 사용할 수 있지만 관리하지는 않았지만, 아래에 나와있는 MySQL 코드는 내 유니온을 보여줍니다.

(
    SELECT productname, id, filename 
    FROM mobiles 
    WHERE productname LIKE '%app%' 
) 
UNION 
(
    SELECT productname, id, filename 
    FROM tablets 
    WHERE productname LIKE '%app%' 
) 

다음은 결과 테이블이며 레코드가 어떤 테이블에서 왔는지 보여주기 위해 "테이블"열을 추가했습니다.

************************************* 
productname * id * filename * table 
************************************* 
Iphone 4s * 1 * bla.png * moblies 
Tablet  * 23 * hi.png * tablets 
Tablet Mini * 25 * fi.jpg * tablets 
iphone 5 * 10 * bl.png * mobiles 

답변

0

쿼리에 테이블 열을 추가 :

(
    SELECT productname, id, filename, 'mobiles' as tablename 
    FROM mobiles 
    WHERE productname LIKE '%app%' 
) 
UNION ALL 
(
    SELECT productname, id, filename, 'tablets' as tablename 
    FROM tablets 
    WHERE productname LIKE '%app%' 
) 
2
(
    SELECT productname, id, filename, 'moblies' `table` 
    FROM mobiles 
    WHERE productname LIKE '%app%' 
) 
UNION 
(
    SELECT productname, id, filename, 'tablets' 
    FROM tablets 
    WHERE productname LIKE '%app%' 
)