2000 のテーブルを持つ xBase タイプのデータベースを理解しようとしています。それらをすべてSQL Serverデータベースにインポートするのではなく、「SELECT INTO tmpDBF」ステートメントを使用してテーブルを1つずつインポートし、テーブル構造や各列の値の範囲など、知りたいことを抽出したかった. 次に、次のテーブルをインポートするときに、異なる構造の tmpDBF テーブルに対して同じクエリを実行できるようにしたいと考えています。
クロス適用を使用してこれを行うことを望んでいましたが、上記のエラーメッセージに遭遇しました。
select cols.column_name 'Name', cols.data_type 'Type', mv.minV 'Minimum'
from information_schema.columns cols
cross apply (select MIN(cols.column_name) minV FROM tmpDBF ) mv
where cols.table_name = 'tmpDBF'
クエリを再構築する方法はありますか、それとも行き止まりの道になりましたか?
10 月 6 日に追加:
与えられた tmpDBF
Who | Zip
--------|------
Charlie | 97689
Foxtrot | 92143
Delta | 12011
次の結果を見てみたい
Name | Type | Minimum | Maximum
-----|---------|---------|--------
who | varchar | Charlie | Foxtrot
Zip | int | 12011 | 96789
最小列と最大列を varchar としてキャストする必要があることを認識しています。