2016-10-02 7 views
0

У меня есть этот 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. Почему это?

ответ

0

Предположительно из-за того, что соответствующих записей в [Public Talk Titles] нет.

Если вы хотите, чтобы все категории использовали left join вместо right join.

+0

В таблице Public Talk Titles есть записи. –

+0

@AndrewTruckle Но есть ли у него категория «МП»? Внутреннее соединение возвращает только записи, когда связанное значение объединенного поля находится в обеих таблицах. [подробнее] (http://stackoverflow.com/questions/38549/what-is-the-difference-between-inner-join-and-outer-join) – LukStorms

+0

Это, по крайней мере, похоже, что это визуально. То, что я сделал (не идеально), - это перейти на базу данных Unicode, затем я изменил все коды MP на XX и переименовал его в XX в таблицу категорий. Теперь все записи отображаются с использованием вышеуказанного запроса. По крайней мере, сейчас это работает. Я просто не знаю, почему это было раньше, так как в таблице названий было около 20 записей с кодом MP. Но он их не нашел. По крайней мере, сейчас это работает. –

 Смежные вопросы

  • Нет связанных вопросов^_^