Один запрос в две разные СУБД даёт разные ответы

Есть две СУБД

  • SQLite
  • MS SQL

в каждой СУБД есть идентичная таблица с пользователями и таблица с ролями. Таблица с ролями имеет отношение "Один ко многим". В таблице с ролями две записи:

  • Admins
  • Clients

Таблица с клиентами имеет следующий вид:

  • ClientsName
  • ClientsPassword
  • CurrentRoleId (внешний ключ на таблицу с ролями)

Есть простой запрос в базу:

select c.ClientName, r.Name from Clients c
LEFT JOIN Roles r
on c.CurrentRoleId = r.Id
WHERE c.ClientName = '[email protected]'

Ответ от СУБД я получаю разный. MS SQL отдаёт мне один правильный ответ:

ClientName    Name
[email protected] Admin

SQLite отдаёт мне две одинаковые записи:

ClientName     Name
[email protected] Admin 
[email protected] Admin 

Вопрос, с чем связанно такое поведение SQLite?


Ответы (1 шт):

Автор решения: Paulwist

В табличке Clients в MSSQL одна запись с [email protected], в SQLite 2 записи с [email protected].

→ Ссылка