以下のような2つのテーブルがあります
CREATE TABLE projectlist(ProjectId INT NOT NULL PRIMARY KEY,
ProjectName VARCHAR(50),
Location VARCHAR(50));
CREATE TABLE LocationList(LocaId INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
ProjectId INT,
Location VARCHAR(50));
表の値は次のとおりです。
INSERT INTO projectlist(ProjectId, ProjectName)
VALUES(1, 'Project A'),
(2, 'Project B'),
(3, 'Project C'),
(4, 'Project D'),
(5, 'Project E'),
(6, 'Project F'),
(7, 'Project G'),
(8, 'Project H');
INSERT INTO LocationList(ProjectId, Location)
VALUES(1, 'Location A'),
(1, 'Location C'),
(2, 'Location C'),
(2, 'Location B'),
(2, 'Location A'),
(3, 'Location B'),
(4, 'Location C'),
(5, 'Location D'),
(6, 'Location A'),
(6, 'Location B'),
(7, 'Location B'),
(8, 'Location D'),
(8, 'Location A');
プロジェクトIDに関連するそれぞれのプロジェクトの最初のLocationList.Locationをprojectlist.Locationに挿入する挿入クエリが必要です。
したがって、クエリを実行した後のテーブル projectlist は
プロジェクト名の場所 プロジェクト A ロケーション A プロジェクト B ロケーション C プロジェクト C ロケーション B プロジェクト D ロケーション C プロジェクト E ロケーション D プロジェクト F ロケーション A プロジェクト G ロケーション B プロジェクト H ロケーション D
以下のように、LocationList テーブルから最初の場所を取得する SQL クエリを試しました。
SELECT DISTINCT MNPCL.Location, MNP.ProjectId
FROM LocationList MNPCL RIGHT OUTER JOIN
projectlist MNP ON MNP.ProjectId = MNPCL.ProjectId
GROUP BY MNP.ProjectName
プロジェクトリストに挿入するクエリの書き方
返信ありがとう