У меня есть схема таблицы и данные примерно такие
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
Вы можете отослать этот вопрос для более подробной информации. То, что я хочу, это отобразить отличную информацию о компании на основе этой категории. Например для CategoryId 2 у нас 7 и 8. Но мой запрос возвращает 4 компании. Если я использую отдельное ключевое слово, то выдает ошибку, что возможна фильтрация для типа данных Текст, так как один из обязательных столбцов имеет тип текста.
Пожалуйста, помогите мне. Мой запрос
-- 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, потому что он не сопоставим.