2014-03-05 5 views
0

선택한 모든 테이블에서 열을 선택하려면 어떻게해야합니까? 테이블이 많이 있기 때문에MySQL - 모든 테이블의 열 선택

SELECT *.id FROM table1, table2, table3, table4 

난, 이런 식으로 할 wouldnt가, 그들은 변경됩니다 : 같은 (오류가 발생합니다)

SELECT table1.id, table2.id, table3.id, table4.id FROM table1, table2, table3, table4 

에만 아이디, 않도록 이러면 유용 음 :

SELECT * FROM table1, table2, table3, table4 

멋진 해결책이 있습니까?

표와 같은

+1

프로그래밍 방식 쿼리를 생성! –

+0

간단한 방법은 다음과 같습니다. SELECT t1.id, t2.id, t3.id, t4.id FROM table1 t1, table2 t2, table3 t3, table4 t4' – Hamidreza

답변

4

UNION을 사용하지 않는 이유는 다음과 같습니다.

SELECT id FROM table1 
UNION 
SELECT id FROM table2 
UNION 
SELECT id FROM table3 
UNION 
SELECT id FROM table4 
0

사용 별명을 맞이하고 열 이름

예와 그 별명 이름 앞에 :

다음 표 1의 T1에서 선택 t1.columnname를 사용 TABLENAME의를 AliasName

SELECT t1.id, t2.id, t3.id, t4.id FROM table1 t1, table2 t2, table3 t3, table4 t4 
+0

답과 함께 몇 가지 추가 정보를 추가 할 수 있습니까? – Max

0

매우 좋은 솔루션은 적은 오류가 발생하기 쉬운 유연한 당신은 당신이 원하는 동일한 순서로 반입 할 모든 컬럼을 쓰고있다 :

SELECT 
    t1.id as t1_id, 
    t2.id as t2_id, 
    t3.id as t3_id, 
    t4.id as t4_id 
FROM 
    table1 t1, table2 t2, table3 t3, table4 t4 
; 

당신은 CROSS이 가입 할 하시겠습니까?

장점 : 각 열에 대한 DIFF 이름/참조가

관련 문제