2009-12-02 6 views
1

내가 같은 테이블이있는 경우 :공동 MySQL의 쿼리

table_1: 1, 'Hello My Name is Hal', '2009:11:02 08:42' 
table_1: 2, 'Hello My Name is Dave', '2009:11:02 08:30' 
table_2: 1, 'Ima all #red due to twitter', '2009:11:02 09:42' 

을 그리고 난이 하나의 결과를 반환하는 쿼리를 할 수있는 방법이 있나요 모든 테이블 열이 같은 col_names

을 상상할 수 있습니다 그래서 내

SELECT * FROM table_1, table_2 ORDER BY dateReg DESC 

:의 라인을 따라 서로 다른 행에 SELECT는

뭔가 내가 모호성 오류 얻을 위의 쿼리를 실행하려고하면

1, 'Ima all #red due to twitter', '2009:11:02 09:42' 
1, 'Hello My Name is Hal', '2009:11:02 08:42' 
2, 'Hello My Name is Dave', '2009:11:02 08:30' 

(Duhh ... 분명히을 .. : D)처럼 돌아 볼 것이다 그러나 우리는 쿼리보다는에 정렬 것을 할 수있는 방법이있다 PHP를 사용하는 코드.

어떤 아이디어? 사전

+1

는 실제로는 가입라고하는 '관절': – NDM

+0

내가, 그러므로 나는 그것을 다른 내가 coudnt로 이름을했다 않습니다 무엇을 가입을 알고 다른 무언가이다 그것을 불러내는 다른 것을 생각해보십시오. 연합을 켭니다. D –

답변

3

여러 쿼리의 결과를 결합하는 UNION (또는 UNION ALL)를 사용할 수 있습니다 (UNION은 중복을 제거하고 UNION ALL는 r 모든 결과를 eturn.)

+0

ty genious ....... 15 chars –

0

를 사용하여 테이블 aliasas 감사)

뭔가 같은 :

SELECT * FROM table_1 UNION ALL SELECT * FROM table_2 

:

SELECT table1.id AS table1_id, table2.id AS table2_id, table3.id AS table3_id FROM table1, table2, table3

+1

이것은 크로스 조인입니다.이 조인은 질문에 관한 것이 아닙니다. –

1

당신은 도심 초기 예제를 사용하여 UNION 쿼리

0

을 사용할 수 있습니다, 표 2는 표 1에서 같은 ID로 행을 오버로드 할 수있는 방법은 무엇입니까?

그래서 예상되는 결과는 다음과 같습니다

1, 'Ima all #red due to twitter', '2009:11:02 09:42' 
2, 'Hello My Name is Dave', '2009:11:02 08:30' 
+1

한 가지 가능한 해결책은 SELECT * FROM (SELECT * FROM table_1) UNION (SELECT * FROM table_2)) AS 'result' GROUP BY'result' .'id' – cris