2017-12-08 4 views
0

MS Accessでフィールドにデータを入力しようとしています。フィールドに入力する文字列は、別の列の文字列によって異なります。別のフィールドの値に応じて同じフィールドを異なる値で更新する方法はありますか?ms access sql - y = aの場合、フィールドをxに、elseifをelseifに変更します。

クエリデザイナーで複数のフィールドを入力しようとしましたが、出力フィールドが重複しているというメッセージが返されました。

すなわち

Col1 Populated 
x  1 
x  1 
y  2 
j  10 
y  2 
j  10 
x  1 
+0

はい、それが可能です。 IF文を入れ子にする必要があるかもしれません。複数のフィールドに別々のif文を書くことはできません(同じフィールドが重複しています)。あなたのロジックを共有できますか?おそらく、コピー/ペーストして、デザイナーに戻って参照できるUPDATEクエリを書くことができます。 – JNevill

答えて

0

これはスタートとして役立つことがあります。

DECLARE @Temp TABLE (
Col1 NVARCHAR(1) 
,Populated INT 
) 

INSERT INTO @Temp 
VALUES 
('x',1) 
,('x',1) 
,('y',2) 
,('j',10) 
,('y',2) 
,('j',10) 
,('x',1) 

DECLARE @InputA INT 
SET @InputA = 2 

DECLARE @Y INT 
SELECT @Y = (SELECT Top 1 Populated FROM @Temp WHERE Col1 = 'Y') 

DECLARE @x INT 
SELECT @x = (SELECT Top 1 Populated FROM @Temp WHERE Col1 = 'x') 


SELECT 
    Col1 
    ,Populated 
    ,CASE WHEN Populated = @InputA THEN @X 
      ELSE Populated 
      END 
FROM @Temp 
関連する問題