0
나는 내가 비주얼 C Microsoft Access 데이터베이스와 함께 작동 ++ 응용 프로그램의 일부로 사용이 SQL 쿼리를 다음 공공 토크 카테고리에서특정 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);
I 값은 다음과 같습니다
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 범주가있는 모든 레코드가 제외되었습니다. 왜 이런거야?
공개 토론 제목 테이블에 레코드가 있습니다. –
@AndrewTruckle하지만 카테고리에는 "MP"가 있습니까? 내부 조인은 조인 된 필드의 링크 된 값이 두 테이블 모두에있을 때만 레코드를 반환합니다. [more info] (http://stackoverflow.com/questions/38549/what-is-the-difference-between-inner-join-and-outer-join) – LukStorms
적어도 눈에 보이는 것처럼 보입니다. 제가 (이상적이지 않은) 유니 코드 데이터베이스로 업그레이드하는 것이 었습니다. 다음으로 모든 MP 코드를 XX로 변경하고 카테고리 테이블에서도 XX로 이름을 변경했습니다. 위의 쿼리를 사용하여 모든 레코드가 표시됩니다. 적어도 지금은 작동합니다. 나는 MP의 코드를 가진 titles 테이블에 약 20 개의 레코드를 가지고 있기 때문에 왜 그렇게되지 않았을 지 모르겠습니다. 그러나 그것을 찾지 못했습니다. 적어도 지금은 작동합니다. –