QA@IT
«回答へ戻る

回答を投稿

ご回答ありがとうございます。
 おっしゃる通り、テーブルBのフローID=16の行を一行にするとエラーは発生しなくなりました。
 ただ、恐縮なのですが、テーブル定義を見直しまして、外部キーの設定は行っていない状態であることを確認しました。
 テーブル定義を以下に示します。

CREATE TABLE [dbo].[テーブルA]
(
[順番] INT NOT NULL,
[フローID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([順番] ASC)
);

CREATE TABLE [dbo].[テーブルB] (
[通番] INT IDENTITY (4, 1) NOT NULL,
[フローID] INT NOT NULL,
[大カテゴリID] INT NOT NULL,
[小カテゴリID] INT NOT NULL,
[タグID1] INT NULL,
………

テーブルBではフローのバージョン管理を行う都合上、フローID欄をユニークに設定することができません。
そのため、テーブルB.フローIDを一つにまとめてから結合するようなSQL文を考えていますが、不勉強故思いつかない状況です。

ご回答ありがとうございます。
 おっしゃる通り、テーブルBのフローID=16の行を一行にするとエラーは発生しなくなりました。
 ただ、恐縮なのですが、テーブル定義を見直しまして、外部キーの設定は行っていない状態であることを確認しました。
 テーブル定義を以下に示します。

CREATE TABLE [dbo].[テーブルA]
 (
    [順番]    INT NOT NULL,
    [フローID] INT NOT NULL,
    PRIMARY KEY CLUSTERED ([順番] ASC)
);

CREATE TABLE [dbo].[テーブルB] (
    [通番]      INT      IDENTITY (4, 1) NOT NULL,
    [フローID]   INT      NOT NULL,
    [大カテゴリID] INT      NOT NULL,
    [小カテゴリID] INT      NOT NULL,
    [タグID1]   INT      NULL,
………

テーブルBではフローのバージョン管理を行う都合上、フローID欄をユニークに設定することができません。
そのため、テーブルB.フローIDを一つにまとめてから結合するようなSQL文を考えていますが、不勉強故思いつかない状況です。