문제

나는 네 가지 테이블을 포함하는 정확히 동일한 열,그리고 보기를 만들려는 모든 네 그래서를 쿼리할 수 있습니다.

이것이 가능한가요?

(지루한 이유가 없/도 허용하지 않는 그들을 결합하는 것이 무관!)

도움이 되었습니까?

해결책

가정뿐만 아니라 같은 열 이름의 열 같은 동일한 데이터를 포함,당신은 당신을 만들려는 뷰가 연합의 모든 테이블이 있습니다.

다음과 같은 뭔가를 해야지만,나의 SQL 은 러:

(CREATE VIEW view_name AS
(SELECT * FROM table1
UNION
SELECT * FROM table2
UNION
SELECT * FROM table3));

다른 팁

그것은 가치가 있을 수 있습니다 주목할 필요할 수 있는 사용하는"조합"모두를 보존하는 독특한 행에서 존재할 수 있는 하나 이상의 테이블이 있습니다.표준 union 것이 중복되는 용어를 제거합니다.

이 말하는 것은 어렵에서 쿼리에는지 여부를 당신을 기대한 데이터를 기반으로 반환될 UNION,또는 포함하는 열을 줍니다.이것은 분명히 효과가 있습니다.

다음 샘플을 참고하십시오:

TableA
ID  Name   RelatedID
1   John   2
2   Paul   1

TableB
ID  Name   RelatedID
1   Ringo  1
2   George 1

TableC
ID  Name  RelatedID
1   Bob   1

TableD
ID  Name  RelatedID
1   Kate  NULL

지금 실행하여 다음에 대한 쿼리를 이:

선택 ID,이름에서 TableA 모든 동맹 선택 ID,이름에서 각 모든 동맹 선택 ID,이름 tablec 에서 모든 동맹 선택 ID,이름에서 상정

이 결과는 다음과 같이 출력됩니다:

1 John
2 Paul
1 Ringo
2 George
1 Bob
1 Kate

이것이 당신이 무엇인가?그렇다면,당신은 당신을 사용하 UNION 쿼리가 있습니다.

지금는 경우,영향신 후에는 이산 보기 관련 데이터가 필요할 수 있습을 다음과 같은 것이 가능합니다.

SELECT A.ID MasterID, A.Name MasterName, 
       B.ID BandID, B.Name BandName, 
       C.ID BlackadderID, C.Name BlackadderName
       D.ID BlackadderRealID, D.Name BlackadderRealName
FROM
  TableA A
INNER JOIN
  TableB B
ON
  A.RelatedID = B.ID
INNER JOIN
  TableC C
ON
  B.RelatedID = C.ID
INNER JOIN
  TableD D
ON
  C.RelatedID = D.ID

이 결과는 다음의 데이터:

MasterID  MasterName  BandID  BandName BlackAdderID BlackAdderName  BlackadderRealID  BlackadderRealName
1         John        2       George   1            Bob             1                 Kate
2         Paul        1       Ringo    1            Bob             1                 Kate

사용합니다.여기에 설명

를 사용하여 문 union

select * from table1
union 
select * from table2
union
select * from table3

할 수 있는 경우에 당신은 동맹이 그들(나는 것이 좋을 포함하여 몇 가지로 표시하는 테이블이 각각의 레코드에서 왔):

select   table1.column1, 1 as TableNumber
from     table1

union

select   table2.column1, 2 as TableNumber
from     table2

.. etc ..

오히려 이상 조합,사용,동맹의 모든지 않는 한,당신은 특히 원하는 행을 복제하지 아니합니다.연합에서 자신의 이상을 실행(기 때문에 일종의 그것을 찾을 수 있 속),그리고 중복을 제거하의 행이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top