Hi,
SELECT
A._qsn,A._queueno,A._NRICNo,B._Name,B._race,B._block,B._unitno,B._street,B._handphone,B._gender,B._race, B._language, C._letterNo, A._status ,A._wentHome, A._remarks, A._caseType, A._welfare, A._welfareSave
from tbQueue A
INNER JOIN tbPeopleResident B ON A._NRICNo=B._NRICNo
INNER JOIN tbLetterHistory C ON A._NRICNo=C._NRICNo
If your data is proper stored in database then you never need to use
DISTINCT
keyword in your query.
If your table B or C has multiple values then you will get more then one row for each NRICNo but all fields will not be unique because table B or C will have different values.