特定のテーブルのすべての列のリストを、sys.indexes テーブルからデータ型と is_primary_key 列と共に取得しようとしています。しかし、is_primary_key 列を正しく取得できません。テーブルの主キーとなるカラムのみis_primary_keyを1に設定したいのですが、これは全てのカラムに対して1に設定されています
以下は私が使用しているクエリです
select distinct c.name,c.system_type_id,is_primary_key from sys.columns c
inner join sys.tables t on c.object_id=t.object_id
inner join sys.index_columns ic on ic.column_id=c.column_id
inner join sys.indexes i on i.index_id=ic.index_id
and t.name='comp' and i.is_primary_key=1