하나의 테이블에 항목 목록이 있습니다. 각 항목에는 2 가지 변형이 있지만이 기본 테이블에는 단일 항목으로 있습니다. 제가하고 싶은 것은 결과의 두 가지 변형 된 데카르트 곱입니다. 또 다른 왼쪽이가 간다 참여가 있기 때문에쿼리에서 생성 된 테이블에서 2 행 조인
ID Variation
1 a
1 b
2 a
2 b
이이 쿼리에 수행 할 :
SELECT * FROM items
내가 원하는 나에게
ID
1
2
을 줄 것이다.
SELECT * FROM items JOIN (SELECT 'a' as Variation) as v
을하지만 그것은 단지 나에게 내가 필요로하는 4 행의 2를 제공합니다
나는 수행하여 첫 번째 변화를 얻을 수 있습니다.
두 행이있는 변형 된 실제 표가 있으면 작동한다는 것을 알고 있습니다. 두 개의 행을 만들 수 있습니까? 나는 또한이 시도하지만 실패 :
SELECT * FROM items JOIN (SELECT ('a','b') as Variation) as v
'items x JOIN items y'와 (과) 무슨 문제가 있습니까?!?! – Strawberry
죄송합니다. 변종으로 'a'와 'b'를 사용하여 설명했습니다. 나는 두 번째 칼럼에서 같은 테이블에 합류하지 않는다. 각 행 2 개가 필요합니다. 테이블 자체를 조인하면 행 수가 제곱됩니다. 5 항목은 10 대신 25 개의 순열이됩니다. '할 때'(선택 "a") v '는 하나의 행을 메모리에 테이블로 만듭니다. 나는 두 줄이 필요하다. 차라리 실제로 두 번째 테이블을 만들지는 않을 것입니다. – DAB