Hi, I found an issue with SQLite 3.27.2 and is also existent in 3.20.1.
Of the four queries below, the second query should have returned the same result set as the first query. As a side note, I also tried creating the tables with no primary keys and got the same results. I also tried using the "ON" syntax and got the same results. sqlite3.exe bugtest SQLite version 3.27.2 2019-02-25 16:06:06 Enter ".help" for usage hints. sqlite> create table competitors (compid INTEGER PRIMARY KEY, last TEXT, first TEXT); sqlite> create table matches (category INTEGER, number INTEGER, blue INTEGER, white INTEGER, PRIMARY KEY(category,number)); sqlite> insert into matches values(10032,2,1109,1197); sqlite> insert into competitors values (1109,"SERHAN", "James"); sqlite> insert into competitors values (1197,"WHITE","Justin"); sqlite> .headers on sqlite> select * from matches; category|number|blue|white 10032|2|1109|1197 sqlite> select * from competitors; compid|last|first 1109|SERHAN|James 1197|WHITE|Justin sqlite> select competitors.* from matches INNER JOIN competitors WHERE matches.white = competitors.compid and matches.category=10032 and matches.number=2 and competitors.first="Justin"; compid|last|first 1197|WHITE|Justin sqlite> select competitors.* from matches INNER JOIN competitors WHERE matches.white = competitors.compid and matches.category=10032 and matches.number=2 and competitors.last="WHITE"; sqlite> select competitors.* from matches INNER JOIN competitors WHERE matches.blue = competitors.compid and matches.category=10032 and matches.number=2 and competitors.first="James"; compid|last|first 1109|SERHAN|James sqlite> select competitors.* from matches INNER JOIN competitors WHERE matches.blue = competitors.compid and matches.category=10032 and matches.number=2 and competitors.last="SERHAN"; compid|last|first 1109|SERHAN|James sqlite>.quit Out of curiosity, I changed the last name of "WHITE" to "WHTE" and queries now work!?!? sqlite3.exe bugtest SQLite version 3.27.2 2019-02-25 16:06:06 Enter ".help" for usage hints. sqlite> update competitors set last="WHTE" where compid=1197; sqlite> select competitors.* from matches INNER JOIN competitors WHERE matches.white = competitors.compid and matches.category=10032 and matches.number=2 and competitors.last="WHTE"; 1197|WHTE|Justin sqlite> select competitors.* from matches INNER JOIN competitors WHERE matches.white = competitors.compid and matches.category=10032 and matches.number=2 and competitors.first="Justin"; 1197|WHTE|Justin sqlite> select competitors.* from matches INNER JOIN competitors ON matches.blue = competitors.compid where matches.category=10032 and matches.number=2 and competitors.first="James"; 1109|SERHAN|James sqlite> select competitors.* from matches INNER JOIN competitors ON matches.blue = competitors.compid where matches.category=10032 and matches.number=2 and competitors.last="SERHAN"; 1109|SERHAN|James sqlite> .quit I hope you have enough details to troubleshoot! Thanks in advance, STeve Horvath _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users