У меня есть этот SQL запрос, который я использую как часть Visual C++ приложение, которое работает с базой данных Microsoft Access:Почему определенные данные базы данных исключаются из результатов этого SQL-запроса?
strQuery = _T("SELECT [Public Talk Titles].*, ")
_T("[Public Talk Categories].Description AS [Category Description] ")
_T("FROM [Public Talk Categories] ")
_T("INNER JOIN [Public Talk Titles] ")
_T("ON [Public Talk Categories].Category = [Public Talk Titles].Category ")
_T("ORDER BY [Public Talk Titles].[Talk Number]");
pTalkRecordset->Open(CRecordset::snapshot,(LPCTSTR)strQuery, CRecordset::readOnly);
В Public Talk Категории У меня есть следующие значения:
Bible/Dieu BD
Derniers jours/Jugement de Dieu DJ
Epreuves/Difficultés ED
Evangélisation/Ministère EM
Famille/Jeunes FJ
Foi/Spiritualité FS
Monde, pas partie du МР
Non Spécifié NS
Normes/Qualités chrétiennes NQ
Religion/Culte RC
Royame/Paradis RP
В моем результирующем наборе записей он исключил все записи, которые имеют категорию MP. Почему это?
В таблице Public Talk Titles есть записи. –
@AndrewTruckle Но есть ли у него категория «МП»? Внутреннее соединение возвращает только записи, когда связанное значение объединенного поля находится в обеих таблицах. [подробнее] (http://stackoverflow.com/questions/38549/what-is-the-difference-between-inner-join-and-outer-join) – LukStorms
Это, по крайней мере, похоже, что это визуально. То, что я сделал (не идеально), - это перейти на базу данных Unicode, затем я изменил все коды MP на XX и переименовал его в XX в таблицу категорий. Теперь все записи отображаются с использованием вышеуказанного запроса. По крайней мере, сейчас это работает. Я просто не знаю, почему это было раньше, так как в таблице названий было около 20 записей с кодом MP. Но он их не нашел. По крайней мере, сейчас это работает. –