1

このクエリを解決するのを手伝ってください。

  1. 「t1c1」列と「t1c2」列を持つテーブルt1。

  2. 「t2c2」列と「t2c2」列を持つテーブルt2。

「t3c1」、「t3c2」、「t3c3」列を持つt3テーブルに値を挿入する必要があります。

条件は、「t3c2」列の値は「t1c2」列から入力され、「t3c3」列は「t2c2」列から入力され、「t3c1」はカーソル値から入力される必要があります。

誰かがこれを手伝ってくれる?これは可能ですか?

4

3 に答える 3

2

これは機能するはずです:

INSERT INTO t3 (t3c1, t3c2, t3c3)
SELECT currval, t1.t1c2, t2.t2c2
FROM t1, t2;

t1との特定の行のみを一致させる必要がある場合はt2、次を追加できます。

WHERE t1.t1c1 = 'value'
  AND t2.t2c1 = 'value';
于 2012-09-03T10:48:37.220 に答える
0
insert into t3(t3c1,t3c2,t3c3) 
    (select curval,t1.t1c2,t2.t2c2 from t1 left outer join t2 on t1.col=t2.col)
于 2012-09-03T10:49:12.613 に答える
0

私はあなたの質問を理解するかどうか今はわかりません。SQLの一部のコードは、他の説明よりも優れている可能性があります。私が理解できない場合は、このビューがあります

CREATE VIEW t3 as SELECT t1c2 AS t3c2, t2c2 AS t3c3, rowid (oid ... or something) AS t3c1 FROM t1,t2 WHERE ....

次に、トリガーを作成できますINSTEAD OF

CREATE TRIGGER t3_insert INSTEAD OF INSERT ON t3 AS BEGIN
  INSERT t1 .... VALUES (NEW.t3c1 .....)
  .......   
END;

または、t3が通常のテーブルであり、t3のデータを変更する場合は、トリガーを使用しますAFTER INSERT (UPDATE,DELETE)

より具体的には、より良い解決策を受け取ることができます。

于 2012-09-03T10:59:36.900 に答える