Один запрос в две разные СУБД даёт разные ответы
Есть две СУБД
- 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].