Your comments

I have made the following work here:

~$ sqlite3 hi
sqlite> create table matches(id integer primary key autoincrement, person1 varchar, person2 varchar); sqlite> create table people(id integer primary key autoincrement, name varchar, rank varchar);
sqlite> insert into people(name, rank) values ('Payne', 'Major');
sqlite> insert into people(name, rank) values ('Error', 'General');
sqlite> insert into matches (person1, person2) values ('Payne', 'Error');
SELECT A.ID, A.PERSON1, A.PERSON2, B.NAME AS 'NAME1', C.NAME AS 'NAME2' FROM MATCHES AS A INNER JOIN PEOPLE AS B ON B.NAME = A.PERSON1 INNER JOIN PEOPLE AS C ON C.NAME = A.PERSON2 WHERE A.ID=1;
1|Payne|Error|Payne|Error
My guess would be that your schema is not what you presume it to be - the column may very well not exist.