を個別の項目をseletingながら、私は私のテーブルスキーマとデータこの問題T-SQL
CompanyCategoryId SubCategoryId CategoryId CompanyId
44 22 1 7
45 23 1 7
46 24 1 7
47 10 2 7
48 11 2 8
49 12 2 8
50 16 2 7
のようなものを持っていますが、詳細については、このquestionを参照することができます。私が望むのは、カテゴリ別の企業情報をここに表示することです。 CategoryId 2の例は7と8です。しかし、私のクエリは4つの企業を返します。 distinctキーワードを使用すると、必要な列の1つがtext型のため、データ型Textでフィルター処理が可能であるというエラーが発生します。
私を助けてください。私のクエリは
-- GET ALL COMPANIES REGISTERED IN THIS MONTH
DECLARE @Last30Day as date
SET @Last30Day = GETDATE() - 30
SELECT DISTINCT tbl_Company.CompanyName, tbl_Company.Website, tbl_Company.Email, tbl_Company.Profile,
(ISNULL(tbl_Company.Address,'') + ', '+ISNULL(tbl_Company.City,'')+', '+ISNULL(tbl_Company.State,'')) AS Address,
tbl_Company.Phone1, tbl_Company.Mobile1
FROM tbl_Company INNER JOIN
tbl_Company_Category_Map ON tbl_Company.CompanyId = tbl_Company_Category_Map.CompanyId
WHERE (tbl_Company_Category_Map.CategoryId = 2) AND tbl_Company.RegistrationDate BETWEEN @Last30Day AND GETDATE()
エラー:それは比較することはできませんのでメッセージ421、レベル16、状態1、行5 テキストデータ型はDISTINCTとして選択することはできません。
なぜ「TEXT」フィールドを使用して1文字を保存していますか? – JNK
プロファイルは1文字のフィールドではありません。その会社のプロファイルデータをテキストとして、プレーンテキストまたは解析済みのhtmlタグで保持します。 –
tbl_Companyの列です - プロフィール - テキスト - 会社のプロフィールを保持する –