2014-12-05 2 views
0

쿼리의 결과는 하나의 행만 반환합니다. 끌어 내야하는 데이터는 관계형 열이없는 두 테이블에서 가져옵니다. 두 번째 테이블에는 1 년에 한 번 추가 된 행만 있으므로 필요에 따라 PHP를 통해 쿼리를 구성합니다. PostgreSQL 단일 쿼리 단일 행 SELECT JOIN이없는 두 테이블에서

은 내가하지 확인 방법 SELECT 여러 열 FROM/동적 인 방법 지향 성능의 관계형 데이터가없는 두 번째 테이블 이야 그러나 SQL 하위에 select를 사용하는 방법을 알고있다. 여기

내가 동적으로 효율적이 두 번째 테이블에서 여러 열을 끌어 어떻게 ...

SELECT t1.a, 
t1.b, 
t1.c, 
(SELECT t2.d FROM table2) AS d, 
(SELECT t2.e FROM table2) AS e, 
(SELECT t2.f FROM table2) AS f, 
(SELECT t2.g FROM table2) AS g, 
t1.h, 
t1.i 
FROM table1 AS t1; 

내가 할 노력하고있어 시각화하는 여러 하위에 select를 사용하여 정적 예입니다 첫 번째 테이블이있는 관계형 컬럼이 없습니까?

싼 해결책이 될 수있는 두 번째 별도의 쿼리를 작성하고 싶지 않습니다. 대부분 입니다.은 성능에 영향을 미치고 최악은 SQL에 대한 이해를 넓히지 않을 것입니다. 당신이 (더 가입)에 가입하지 카티이 필요한 것처럼

답변

4

는 소리 -하지만 당신은 함께 (표 1은 100 개 행이 테이블 2는 10 개의 행이있는 경우 즉, 1000 개 행을 반환합니다)

을 값을 곱하는 것 그렇게 할
SELECT t1.a, 
t1.b, 
t1.c, 
t2.d, 
t2.e, 
t2.f, 
t2.g, 
t1.h, 
t1.i 
FROM table1 AS t1, table2 as t2; 
+1

작품 : 다른, 당신은 두 테이블의 카티 제품을 얻을 것이다! 고맙습니다! –

1

구문은 다음과 같습니다

SELECT t1.a, 
     t1.b, 
     t1.c, 
     t2.d, 
     t2.e, 
     t2.f, 
     t2.g, 
     t1.h, 
     t1.i 
FROM table1 AS t1, table2 as t2; 

당신이 비록 두 개의 테이블을 조인하지 않는 경우, 당신은 두 개의 쿼리를 보통을 할 것입니다.

http://en.wikipedia.org/wiki/Cartesian_product

+0

게시 한 답변과 동일합니다. –

+0

@JoeLove : 아주 많이 같은 시간에 응답합니다. 당신이 다운 투표 한 사람이라면 미래에 대해 [체크 아웃] (http://meta.stackoverflow.com/questions/251487/getting-to-know-stack-overflows-voting-culture)을 원할 수 있습니다. 참고. –