SYSIBM.SYSCOLUMNS
DB2 を使用しているときに、1 つのテーブルにしか表示されない奇妙な動作に気付きました。
これは私のクエリです:
select distinct NAME, COLTYPE, LENGTH, SCALE, REMARKS from SYSIBM.SYSCOLUMNS where TBNAME='Table1';
通常、結果にはすべてのテーブルが 1 回表示されます。
|===================================|
| NAME |COLTYPE|LENGTH|SCALE|REMARKS|
|col1 | ..... |......|.....|.......|
|col2 | ..... |......|.....|.......|
|col3 | ..... |......|.....|.......|
|===================================|
しかし、特定のテーブルを 1 つ使用すると、それを と呼びましょうTable2
。すべての列が 2 回表示されます。
|===================================|
| NAME |COLTYPE|LENGTH|SCALE|REMARKS|
|col1 | ..... |......|.....|.......|
|col1 | ..... |......|.....|.......|
|col2 | ..... |......|.....|.......|
|col2 | ..... |......|.....|.......|
|col3 | ..... |......|.....|.......|
|col3 | ..... |......|.....|.......|
|===================================|
ただしREMARKS
、選択ステートメントにを含めた場合のみ。を選択から削除するとREMARKS
、すべてが期待どおりに機能します。
その問題の原因は何ですか?クエリに何か問題がありますか?