0

fus_shift であるテーブルとルート テーブルを最終テーブルである新しいテーブルに結合しようとしましたが、「 2 行目のエラー: ORA-01789: クエリ ブロックの結果列の数が正しくありません」のように出力されます。代わりにテーブルを結合しようとしましたが、「ERROR at line 3: ORA-00918: column ambiguously defined」も出力されます。列数が異なり、同じ列名を持つ2つのテーブルを結合して結合する別の方法はありますか? ありがとうございました:-)

コード エラー: select * from fus_shift union select * from root;
として最終的なテーブルを作成します。



コード エラー:
select record_num,test_num,t_date,t_time,system_type,category,comments,val
from fus_shiftrpt,root
where record_num=record_num;

私のテーブル:

                                 fus_shift Table


           Record_Num       test          date      time         system   
           -----------------------------------------------------------
                1          test15      08-11-12  13:20:01    sys23 
                2          test17      08-11-03  14:24:00    sys24
                3          test13      08-11-13  17:25:04    sys45
                4          test15      08-11-14  18:24:00    sys67
                5          test16      08-11-15  19:24:06    sys45


                                 root Table

           Record_Num      category   comments    validated by
           ---------------------------------------------------
                  1        dirt        checked        admin
                  2        prog        checked        admin
                  3        dirt        checked        pe
                  4        wires       checked        ee
                  5        prog        repair         admin

強調されたテキスト

4

2 に答える 2

3

あなたは確かにあなたのテーブルに「ユニオン」を適用することはできません。両方のクエリが同じ数(および同様のタイプ)の列を返す場合にのみ適用できます。

2つのテーブルを結合できますが、「record_num」フィールドは両方のテーブルで共通であるため、結合時には「テーブルエイリアス」を使用する必要があります。これがあなたのために働くだろうクエリです

select 
        table1.record_num,
        table1.test_num,
        table1.t_date,
        table1.t_time,
        table1.system_type,
        table2.category,
        table2.comments,
        table2.val
from 
       fus_shift table1,root table2
where 
       table1.record_num = table2.record_num;
于 2008-12-06T09:49:16.973 に答える
1

次の方法を使用します。

SELECT * 
FROM fus_shift
INNER JOIN root ON root.record_num = fus_shift.record_num
于 2008-12-07T13:04:11.527 に答える