Jason, I think your problem description is too abbreviated to allow anyone to easily reproduce it.
Maybe you can repost with a minimal example of the failure, but include a full script that will show the problem, and let us know what version of the sqlite3 commandline utility was used and what OS you're using. I tried the following on Windows 7 with sqlite3 3.8.10.2 and got no error. (I did not populate the tables.) D:\>sqlite3 SQLite version 3.8.10.2 2015-05-20 18:17:19 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> CREATE TABLE PatientTreatmentNote( ...> TreatmentNoteID, dog, cat, rat ); sqlite> CREATE TABLE PatientTreatmentNoteStep( ...> TreatmentNoteID, dog2, cat2, rat2 ); sqlite> select * from PatientTreatmentNote ptn join PatientTreatmentNoteStep pts ON pts.TreatmentNoteID = ptn.TreatmentNoteID ; sqlite> sqlite> =================================== Script was: CREATE TABLE PatientTreatmentNote( TreatmentNoteID, dog, cat, rat ); CREATE TABLE PatientTreatmentNoteStep( TreatmentNoteID, dog2, cat2, rat2 ); select * from PatientTreatmentNote ptn join PatientTreatmentNoteStep pts ON pts.TreatmentNoteID = ptn.TreatmentNoteID ;