I'm not sure whether this is a bug or not. I stumbled across a situation where a table alias sometimes is reflected in the column name and sometimes not. It *is* reflected when the last join is a *left* one. Script (sorry that I couldn't come up with a simpler test case):
CREATE TABLE t_variablen_flaeche ( id INT32, id_var INT32, id_flaeche INT32, wert DOUBLE, herkunft TEXT, datum DATETIME, bemerkungen TEXT, id_variante INT32 ); CREATE TABLE t_variablen_flaeche_metadaten ( id_var INT32, beschreibung TEXT, iwg_einheit TEXT, bemerkungen TEXT, id_stoff INT32, familie TEXT, id_spezifikation INT32, variante_beschreibung TEXT, variante_datenquelle TEXT ); CREATE TABLE t_variablen_gesamt ( id INT32, art TEXT, name TEXT, bemerkungen TEXT, herkunft TEXT ); INSERT INTO t_variablen_flaeche (id_var, id_flaeche, wert) VALUES (1449, 10001, 291.158), (2271, 10001, 0.15); INSERT INTO t_variablen_flaeche_metadaten (id_var, beschreibung, iwg_einheit) VALUES (1449, 'Fläche des Analysegebiets', 21), (2271, 'geogener CD -Gehalt im Oberboden von natürlich bedecktem Land und Bergregionen, v2', 33); INSERT INTO t_variablen_gesamt (id, name) VALUES (1449, 'BI_AU_A'), (2271, 'ER_CONT_geo_HM_v2_CD'); SELECT vf.id_flaeche, mg.name, mvf.beschreibung, mvf.id_var, vf.wert, mvf.iwg_einheit FROM t_variablen_gesamt mg JOIN t_variablen_flaeche_metadaten mvf ON mg.id = mvf.id_var /*LEFT*/ JOIN ( SELECT id_var, id_flaeche, wert FROM t_variablen_flaeche WHERE id_flaeche = 10001 ) vf ON vf.id_var = mvf.id_var WHERE vf.id_flaeche IS NOT NULL ORDER BY vf.id_flaeche, mg.name; Uncomment the last /*LEFT*/ JOIN and the column headers are id_flaeche, name, beschreibung etc. vs. vf.id_flaeche, mg.name, mvf.beschreibung as it stands now. Tested with the latest command line version under Windows, the latest .NET provider and SQLiteSpy (SQLite version 3.8.0.2). _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users