SQL Server 2008のインスタンスでは、@Configuration
というテーブルがあり、3つの列、ID
,Code
、およびSubCode
があるとします。 Code
とSubCode
の重複行はありません。構成が存在する場合は最初の行を選択し、それ以外の場合はNULLを選択します。Row
ここで、Code
の重複行を持ち、サブコードがNullとしてSubCode
の利用可能な別の詳細レベルテーブル@ConfigurationDetails
を想像してください。 SubCode
が利用可能である
場合、詳細テーブルから直接Amt
とData
を選び、SubCode
は、詳細テーブルで利用できない場合、その後
(注NULL
レコードにAmt
とData
を選ぶ:SubCode=NULL
エントリはすべてのために常に利用可能です設定行)
どこから始めたらよいですか?
あなたが使用することができるはず 簡単な例... テーブル
declare @Configuration TABLE (
ID INTEGER IDENTITY PRIMARY KEY,
Code VARCHAR(50),
SubCode VARCHAR(50)
);
declare @ConfigurationDetails TABLE
(
Code VARCHAR(50),
SubCode VARCHAR(50),
Amt MONEY,
Data VARCHAR(123)
);
INSERT INTO @Configuration VALUES
('BR1','Sub1'),
('BR1','Sub2'),
('BR1','Sub3'),
('BR1','Sub4'),
('BR2','Sub1'),
('BR2','Sub2')
INSERT INTO @ConfigurationDetails VALUES
('BR1','Sub1',500,'BR1 Sub1 Data'),
('BR1','Sub2',600,'BR1 Sub2 Data'),
('BR1',NULL,700,'BR1 Data'),
('BR2','Sub1',500,'BR2 Sub1 Data'),
('BR2',NULL,700,'BR2 Data')
INPUT:
@SubCode = 'Sub1', @Code = 'BR1'
OUTPUT:
Code SubCode Amt Data
==== ======= === ====
BR1 Sub1 500 BR1 Sub1 Data
INPUT:
@SubCode = 'Sub4', @Code = 'BR1'
OUTPUT:
Code SubCode Amt Data
==== ======= === ====
BR1 NULL 700 BR1 Data
のようなもの、あなたが使用しInsert_identityない限り、(ID列に値を挿入することはできませんon)ので、あなたの例を扱い、再度見直してください。 –
これは学校の割り当てと非常によく似ています。あなた自身でこれを解決しようとしましたか?もしそうなら、あなたのコードはどこですか? – Tanner