У меня есть следующий вопрос:
SELECT
DISTINCT(po.SONumber) AS [Sales Order No_],
po.PONumber AS PoNo, ph.[Buy-from Vendor No_] AS VendorNo,
ph.[Pay-to Name], ph.[Document Date], 'Ship-to Name' =
CASE WHEN sh.[Ship-to Name] > '' THEN sh.[Ship-to Name] ELSE sih.[Ship-to Name] END,
'Ship-to Post Code' = CASE WHEN sh.[Ship-to Post Code] > '' THEN sh.[Ship-to Post Code] ELSE sih.[Ship-to Post Code] END,
sh.DeliveryPhoneNo AS [Delivery Phone No], 'CustomerPriceGroup' = CASE WHEN sh.[Customer Price Group] > '' THEN sh.[Customer Price Group] ELSE sih.[Customer Price Group] END,
'DeliveryComment' = CASE WHEN sh.[Delivery Comment] > '' THEN sh.[Delivery Comment] ELSE sih.[Delivery Comment] END,
'GiftMessage' = CASE WHEN sh.[GiftMessage] > '' THEN sh.[GiftMessage] ELSE sih.[GiftMessage] END,
si.Shipped, si.ShippedDate, si.CourierID
FROM
NavisionMeta.dbo.PoToSo po,
[Crocus Live$Purchase Header] ph,
[Crocus Live$Purchase Line] pl,
[Crocus Live$Sales Header] sh,
[Crocus Live$Sales Invoice Header] sih,
NavisionMeta.dbo.SupplierInput si
WHERE po.PONumber = ph.[No_] AND
ph.[No_] = pl.[Document No_] AND
po.SONumber *= sh.No_ AND
po.SONumber *= sih.[Order No_] AND
po.PONumber *= si.PONo AND
ph.[Document Date] BETWEEN '01-01-10' AND '31-01-10'
ORDER BY po.PONumber DESC
Когда это выполняет, я получаю следующую ошибку:
Не может решить конфликт сопоставления между «SQL_Latin1_General_Pref_CP1_CI_AS» и «Latin1_General_CI_AS» в равном операции.
Сопоставление базы данных NavisionMeta - SQL_Latin1_General_Pref_CP1_CI_AS
Что я могу сделать, чтобы зафиксировать это??
Я думаю, что вы действительно должны сделать все, что вы столбцы имеют одинаковое сопоставление. Я использовал этот инструмент для DB, мне нужно было установить все колонки Varchar к тому же сопоставлению. http://www.codeproject.com/kb/database/changeColation.aspx
Согласно статье URL Expressing В приложениях Google помогают, пересылая свой обнаженный домен на домен www - лучший способ обрабатывать его.
, а затем вы оставляете запись CNAME для домена www, чтобы указать на ghs.google.com, как вы уже сделали.
-121--3853822-- Солдировка может быть указана на столбце, поэтому один или несколько ваших столбцов * CHAR-типа будут иметь другое сопоставление к столбцу, с которой вы сравниваете. Используйте
A = B Collate SQL_LATIN1_GENERAL_PREF_CP1_AS
или
A = B Collate Latin1_general_ci_as
, как предложено Treaschf.
Для максимальной эффективности выберите сопоставление колонны из таблицы, по вашему мнению, будет иметь наибольшее количество строк. Это означает, что меньше ценностей будет иметь их сопоставление при сравнении.
Если A и B двух столбцов, которые вы сравниваете, и A является сопоставлением SQL_LATIN1_GENERAL_PREF_CP1_AS и B с Другое, вы можете сказать
...
WHERE a = b COLLATE SQL_Latin1_General_Pref_CP1_AS
Это преобразует B до указанного сопоставления, а затем сравнивает его с помощью.
В каждом случае, когда вы сравниваете значение VARCHA от ваших данных на навигации с вашими ненасимальными данными, вы должны заставить сопоставление с использованием предложения Collate
.
Например, в вашем примере: -
...
po.SONumber *= sih.[Order No_] COLLATE SQL_Latin1_General_Pref_CP1_CI_AS AND
...