3

データベース内のテーブルの名前とその他の情報を保持するテーブルをSQLサーバーに作成しました。このクエリを実行すると

SELECT upper(TABLE_NAME) TABLE_NAME, ISNULL(syn_schema,'N') syn_schema, isnull(syn_data,'N') syn_data
FROM information_schema.tables 
left join sync_config on TABLE_NAME = TAB_NAME 
where table_type = 'BASE TABLE' 
ORDER BY TABLE_NAME

これは、sync_config テーブルからではなく、information_schema.tables からデータを返します。syn_schema および syn_data カラムは sync_config テーブルにあります。要約すると、結合は両方のテーブルで機能していません。sync_config テーブルの tab_name 列のデータ型を VARCHAR から SYSNAME に変更してみました。

ありがとう

4

1 に答える 1

1

結合が機能していない場合、それTABLE_NAME = TAB_NAMEは決して真実ではないことを示しています。テーブル名のフィールドを調べて、期待どおりの内容が実際に含まれているかどうかを確認してください。大文字と小文字を含めて正確に一致しています?

それ以上に、テーブルの構造とサンプルデータを投稿して、さらに助けを求めてください。

*マーティン・スミスに感謝します。

于 2012-12-12T09:57:11.443 に答える