Im имея две таблицы с атрибутами, как date(datetime),headline(varchar),text(text)
UNION ALL, поле TEXT и ORDER BY ошибка
Теперь я хочу, чтобы UNION ALL эти две таблицы и сортировку по DateTime. При этом я получаю сообщение об ошибке:
Only text pointers are allowed in work tables, never text, ntext, or image columns. The query processor produced a query plan that required a text, ntext, or image column in a work table.
Попробовав вперед и назад я узнал, что это текст атрибут, который вызывает ошибку. Но что делать? Я попробовал кастинг в VARCHAR без каких-либо успехов. Обе таблицы используют текстовый формат в текстовом атрибуте.
Также при удалении ORDER BY все работает нормально. Что делать?
Исходный SQL-запрос ниже, но вы можете просто ответить на упрощенное выше.
SELECT id, datetime, author, headline, intro, text, type, toppriority,
secondpriority, comments, companyid, '1' source
FROM Table1
UNION ALL
SELECT AutoID AS id, Dato AS datetime,
ID COLLATE SQL_Latin1_General_CP1_CI_AS AS author, NULL AS headline,
NULL AS intro, Notat COLLATE SQL_Latin1_General_CP1_CI_AS AS text,
CAST(NotatTypeID AS VARCHAR) AS type,
NULL AS toppriority, NULL AS secondpriority, NULL AS comments,
Selskabsnummer AS companyid, '2' source
FROM Table2
WHERE (NotatTypeID = '5') OR (NotatTypeID = '6')
ORDER BY datetime DESC
Заранее спасибо
Какая версия SQL, платформа и т. Д. – Hogan
Я думаю, что ошибка специфична для SQL Server 2000 – MartW
Это SQL Server 2000 – 2010-10-05 10:37:02