Ляво съединение - nvarchar/bigint

В последния етап съм на създаване на отчет и се натъкнах на тази грешка:

Грешка при преобразуването на тип данни nvarchar в bigint.

Подозирам, че това е свързано с LEFT JOIN, който използвам, просто се опитвам да получа полето Label от тази таблица, нищо друго.

  LEFT JOIN [taxonomies_taxonomy_entry]
  ON [era_account_details].[sector] = [taxonomies_taxonomy_entry].[taxonomyentryid]

 [taxonomies_taxonomy_entry].[label] AS [Industry]

Опитвам се да избера полето за етикет, което е поле nvarchar.

LEFT JOIN използва:
[era_account_details].[sector] = nvarchar
[taxonomies_taxonomy_entry].[taxonomyentryid] = bigint

Някакъв съвет?

Много благодаря,


person Justin    schedule 07.10.2015    source източник
comment
Защо са различни видове?   -  person Caramiriel    schedule 07.10.2015
comment
Нямам идея; Не съм проектирал аз базата данни :(   -  person Justin    schedule 07.10.2015
comment
Ще трябва да конвертирате един тип в друг с CAST или CONVERT. Това обаче ще попречи на оптимизатора да използва индекси. Това ще бъде бавна заявка. Ако sector трябва да съдържа само цели числа (и не съдържа боклуци), можете да го конвертирате в bigint. Друг вариант би бил да добавите индексирана nvarchar колона към taxonomies_taxonomy_entry с низовото представяне на идентификатора. Все още е грозно, но няма да се налага да актуализирате никакви съществуващи данни   -  person Panagiotis Kanavos    schedule 07.10.2015
comment
Благодаря за съвета Панайотис, Записите за суми, събрани конкретно от тази заявка, са 2751 :)   -  person Justin    schedule 07.10.2015


Отговори (1)


Може ли това да свърши работа?

CAST([taxonomies_taxonomy_entry].[taxonomyentryid]  As nvarchar(500))
person Joakim M    schedule 07.10.2015
comment
EPIC ТОКУ-ЩО ГО РАЗБИРА! - person Justin; 07.10.2015
comment
Имайте предвид, че това е операция около колона/стойност, така че това я прави доста скъпа. Но ако не ви е позволено да променяте базата данни, това е почти всичко, което можете да направите. - person Caramiriel; 07.10.2015