0
CTE를 사용하여 필요한 특수 형식의 테이블을 만들었습니다. 데이터가 한 테이블에서 가져 오거나 가입 할 수있는 한 훌륭했습니다. , 그러나 지금 나는 내가 참여할 공동 분야가없는 상황이 제시된다. 여기 Sql Server - 가입하지 않고 여러 테이블의 값을 결합하는 CTE 사용
여기+------+---------+
| p_id | value |
+------+---------+
| 1 | 1,55556 |
| 2 | 2,1212 |
| 3 | 2,6868 |
| 4 | 2,4545 |
| 5 | 1,55557 |
| 6 | 2,1212 |
| 7 | 2,6868 |
| 8 | 2,4545 |
+------+---------+
여기
CREATE TABLE Table1
([Emp_ID] varchar(10))
;
INSERT INTO Table1
([Emp_ID])
VALUES
(55556),
(55557)
;
CREATE TABLE Table2
([Type] Varchar(10), [Type_ID] varchar(10))
;
INSERT INTO Table2
([Type], [Type_ID])
VALUES
('Black', '1212'),
('Red', '6868'),
('Orange', '4545')
;
은 CTE가 단일 테이블
GO
WITH cte as (
SELECT t1.[emp_id], C.Value
FROM table1 t1
outer apply (values
('1,' + t1.[emp_id])
) as C(Value)
)
SELECT
row_number() over(order by [emp_id], value) as p_id,
value
FROM cte
하지만 내가 원하는과 협력하고 일부 샘플 테이블입니다 이상적인 최종 결과입니다 이런 식이다 ... 내가 이것을 할 때를 제외하고 나는 "여러 부분 식별자"t1.emp_id "가 될 수 없었다. 이제
GO
WITH cte as (
SELECT t1.[emp_id], C.Value
FROM table1 t1, table2 t2
outer apply (values
('1,' + t1.[emp_id]),
('2,' + t2.type_id)
) as C(Value)
)
SELECT
row_number() over(order by [emp_id], value) as p_id,
value
FROM cte
, 내가 그렇게 삽입해야 내가 표 2의 값의 백을 처리하고이 시간을 제외하고 각 값에 대해 별도의 열을하다, 내가 전에 한 일을 할 수있는 "바인딩이 실용적이지의 더 이상.
미리 제안 해 주셔서 감사합니다.
이것입니다! 나는 단락을 쓰지 않고 내가하고있는 것을 전달할 수 있다는 것을 모른다. 그러나 이것은 내가 수행하려고했던 것을 정확히 수행한다. 기본적으로 employee_id를 첫 번째 항목으로, 그리고 각각을 텍스트 파일로 출력하려고한다. 2 개 항목은 가져 오는 프로필에 무엇인가를 정의합니다. 이것은 많은 도움이되었습니다, Tom! – Jeremy