MSSQL を使用して (簡単に) 可能だと思われることをしようとしていますが、正しい検索文字列を発声する方法がわかりません。以下の状況があります。
Table A
UID | Value....
1 | a
2 | b
3 | c
Table B
PartTypes_uid_fk | Value....
1 | a
1 | b
1 | c
1 | d
1 | e
3 | 67
3 | 1354
次の結果を取得しようとしています。すべての結果 {TableA.*} に対してテーブル A をクエリし、同じ行の結果にテーブル b の数を表示します {count TableB.tableA_fk} これまでに得たものは次のとおりです。
SELECT DISTINCT t1.uid, CONVERT(varchar(MAX), t1.Name) AS Name, CONVERT(varchar(MAX), t1.Description) AS Description,
Count(t2.Items_uid_fk) OVER (Partition By t2.PartTypes_uid_fk) as Count
FROM [Table1] as t1 left outer join Table2 as t2 on t2.PartTypes_uid_fk=t1.uid;
これは、テーブル B に関連付けられたレコードを持つテーブル A のすべてのレコードで機能しますが、テーブル B にエントリがない場合は機能しません。varchar は ntext 形式であり、異なるため、varchar の変換が必要でした。
事前にご協力いただきありがとうございます。スティーブン