Хотя мое другое решение на этой странице работает (и в зависимости от ситуации может быть более идеальным), это альтернативное решение:
Вот макет части моей ошибки:
Column: 'attribute1_name', Value: 'Search String'
Я сделал быстрый поиск:
SELECT dim_id,
dim_name,
dim_attribute1.id,
dim_attribute1.name,
dim_attribute2.id,
dim_attribute2.name
FROM dim_table
INNER JOIN dim_attribute1 ON dim.attribute1_id = dim_attribute1.id
INNER JOIN dim_attribute2 ON dim.attribute2_id = dim_attribute2.id
WHERE UPPER(dim_attribute1.name) = UPPER('Search String')
Оказывается, что для dim_attribute1.name было две разные записи, которые соответствуют этому:
- Строка поиска
- строка поиска
Первое решение разделило их без проблем, так что это рабочее решение (плюс бонус производительности). Однако альтернативой (если вы хотите сохранить текстовые значения в качестве ключей) является изменение параметров сортировки:
Key Columns → Column Name → Source → Collation
Включить «с учетом регистра».
Другими подобными проблемами могут быть символы пробела и другие, которые легко не заметить тонкие изменения в тексте.