我命名節點的兩個表格和鏈接,就像這樣:內側連接兩次返回任何結果
--Links:
-----------------------------------
id fromx fromy tox toy
-----------------------------------
a1 x1 y1 x2 y2
a2 x2 y2 x3 y3
a3 x2 y2 x4 y4
a4 x1 y1 x4 y4
a5 x1 y1 x5 y5
--Nodes:
id x y
--------------
1 x1 y1
2 x2 y2
3 x3 y3
4 x4 y4
5 x5 y5
我想通過匹配fromx,弗羅米和TOX,玩具生產第三個表在打擊的節點表中的X和Y鏈接表產生一個表像這樣:
linkid fromid toid
--------------------
a1 1 2
a2 2 3
a3 2 4
a4 1 4
a5 1 5
在努力達到那個結果,我用這個查詢使用上的節點表連接兩次以下查詢,但我沒有得到任何結果。
select links.id as linkid,
n1.id as nodeid, fromx, fromy, tox from links
inner join nodes n1
inner join nodes n2
on
links.fromx = n1.x
and links.fromy = n1.y
and links.tox = n2.x
and links.toy = n2.y
我「很高興來創建臨時表或者這樣,如果這將有助於。
這是一個有趣的問題。我重新創建你的數據,但我現在只能訪問SQL Server,因此我會盡量使用盡可能標準的語法。 –
正如其他人所建議的那樣,它很可能與您的數據有關。如果運行命令行SQLite shell(sqlite3。 exe文件),你可以使用「.dump」來生成SQL語句率全部創建表並插入語句。如果您將該輸出添加到您的問題。其他人可以重現你的模式和數據。 – Fabian