2009-03-12 2 views
1

I 3 개의 MySQL 4.0 테이블이 모든 필드를 VARCHAR (255) 중 어느 하나 인 ID (INT) (INT) 및 다른 필드 , TINYINT 또는 지능.여러 테이블에서 mysql 4.0 데이터에 가장 빠른 방법으로 참여 하시겠습니까?

내가 그들 모두를 쓸 필요와 나는 세 DataTables을 받고 그들을 반복하고 (.NET 1.1) 임시 테이블에 행을 만들어 결국.

이보다 더 빠르거나 더 깨끗한 방법으로이 데이터에 참여하거나이 데이터를 쓸 수 있습니까?

답변

1

한 쿼리에서 세 테이블의 결과를 실제로 조인하거나 표시하려면 확실하지 않습니다.

SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table1 
UNION 
SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table2 
UNION 
SELECT 
    ID, 
    Type, 
    Convert(varchar(255), Value) as Value 
FROM 
    table3 

참고 :

그냥 플랫 아웃 결과를 원하는 경우, 가장 최선의 같은 조합을하는 것입니다 당신이 가장 안정적인 형태를 얻을 수 있도록 나는 (하여 변환을하고있는 중이 야 varchar 버전).

+0

덕분에, 실제로는 변환하지 않고 심지어 일, 대신 (420 개) 결과의 난 단지 (410)이 방법을 받고 있어요 때문에 나는 걱정 - 어쩌면 일부는 중복하고 병합? – Spikolynn

+0

@Spikolynn : 그것은 암시 적 변환 (또는 VARCHAR에 대한이의 int로 변환하려고)하고 변환을 실패 할 때이 결과 집합에서 제외지고 당신의 int와 작은 int 치의에서 발생하는 것이 가능하다. – TheTXI

+0

TheTXI : Value 대신 3 번 모두 Convert (Value, char)를 시도했지만 여전히 결과가 충분하지 않습니다. 왜냐하면 그들은 단지 내가 추정하는 것처럼 앱이 똑같이 작동해야하기 때문에 나는별로 신경 쓰지 않는다. – Spikolynn

관련 문제