반응형
MYSQL의 2개의 개별 테이블에서 사용 가능한 모든 행에 대해 피벗 테이블엔트리를 작성하는 방법
두 개의 개별 테이블에서 사용할 수 있는 모든 행에 대해 피벗 테이블 엔트리를 작성하려면 도움이 필요합니다. 기본적으로 두 개의 개별 테이블이 있습니다.services
그리고.plans
아래와 같이
- 계획표
아이디 | 이름. | 묘사 |
---|---|---|
1 | 첫 번째 계획 | 플랜 1의 설명 |
2 | 플랜2 | 플랜 2의 설명 |
- 서비스 테이블
아이디 | 이름. |
---|---|
1 | 서비스 원 |
2 | 서비스 2 |
및 피벗 테이블service_plan
여기에서는 아래와 같이 요금제와 서비스의 ID를 추가 컬럼과 함께 저장하고 있습니다.
아이디 | service_id | plan_id | 가격. |
---|---|---|---|
1 | 1 | 1 | 200 |
2 | 1 | 2 | 200 |
SQL 쿼리에서 사용 가능한 모든 플랜을 더미 가격으로 모든 서비스에 할당하면 됩니다.service_plan
테이블은 이렇게 생겼을 것이다
아이디 | service_id | plan_id | 가격. |
---|---|---|---|
1 | 1 | 1 | 200 |
2 | 1 | 2 | 200 |
3 | 2 | 1 | 200 |
4 | 2 | 2 | 200 |
어떤 도움이라도 감사히 받겠습니다.
당신의 질문에 따르면 이것이 당신이 원하는 결과를 얻기 위해 실행할 수 있는 가장 간단한 질문이라고 생각합니다.
insert into service_plan (service_id, plan_id, price) select s.id, p.id, 200 from services as s cross join plans as p
왜 크로스 조인(cross join)에 대한 저항인가?
drop table if exists PLANS,SERVICES,SERVICE_PLAN;
create table plans
(id int,name varchar(100), description varchar(100));
insert into plans values
(1, 'plan one' ,'description for plan one'),
(2, 'plan two' ,'description for plan two');
create table services
(id int, name varchar(20));
insert into services values
(1 ,'service one'),
(2 ,'services two');
create table service_plan
(id int auto_increment primary key, service_id int, plan_id int, price int not null default 200);
insert into service_plan(service_id,plan_id)
select s.id,p.id
from plans p
cross join services s
order by s.id,p.id;
select * from service_plan;
+----+------------+---------+-------+
| id | service_id | plan_id | price |
+----+------------+---------+-------+
| 1 | 1 | 1 | 200 |
| 2 | 1 | 2 | 200 |
| 3 | 2 | 1 | 200 |
| 4 | 2 | 2 | 200 |
+----+------------+---------+-------+
4 rows in set (0.001 sec)
언급URL : https://stackoverflow.com/questions/72811672/how-to-create-pivot-table-entries-for-all-of-the-rows-available-in-two-separate
반응형
'sourcecode' 카테고리의 다른 글
pg_config 실행 파일을 찾을 수 없습니다. (0) | 2022.11.07 |
---|---|
상태: "MariaDB 서버가 다운되었습니다" (0) | 2022.11.07 |
TRANSACTION 블록 MySQL 외부에서 삽입 실행 (0) | 2022.11.07 |
어레이 반복에 "for...in"을 사용하는 것이 좋지 않은 이유는 무엇입니까? (0) | 2022.11.07 |
커스텀 마리아 DB 도커 이미지 작성 방법 (0) | 2022.11.07 |