Consulta SQL de la relación entre dos elementos de la misma tabla

Tengo 3 tablas en sqlite, la primera es sobre una barra de llamada entidad I:

bar *id -name 

y el otro mantiene una relación entre dos compases, llamo foo a esta relación:

 foo *id -bar_one (fk->bar) -bar_two (fk->bar) -baz (fk->baz) 

baz tiene un atributo que califica la relación KIND que foo representa:

 baz *id -description 

Necesito mostrar una consulta de foo que sustituye las keys externas con los valores de bar un baz, algo así como:

 id bar_one bar_two baz 1 bar1 bar2 siblings 2 bar2 bar3 acquaintances 3 bar3 bar4 enemies 

No soy especialist en DBs como puedes ver, lo intenté con un join y funciona con foo y baz.

 SELECT foo.id, baz.description FROM foo, baz WHERE foo.baz = baz.id; 

Pero mostrarles a los dos miembros del bar es difícil para mí de esta manera. ¿Algún consejo?

Suponiendo que las columnas de la tabla foo : bar_one (fk->bar) , bar_two (fk->bar) , baz no son columnas nulas , puede usar INNER JOIN para combinar ambas tablas, pero si son anulables , utilice LEFT JOIN lugar .

 SELECT a.ID, b.name as bar_one, c.name AS bar_two, d.description FROM foo a INNER JOIN bar b ON a.bar_one = b.id INNER JOIN bar c ON a.bar_two = c.id INNER JOIN baz d ON a.baz = c.id 

básicamente, INNER JOIN solo muestra las filas que un logging tiene al less una coincidencia en cada tabla, mientras que LEFT JOIN muestra todas las filas definen en el lado izquierdo si hay coincidencia o ninguna.