[英]Get data from two tables using by data from another table in SQL Database
我的數據庫中有3個表。 假設它們被命名為ACC,POS,CON。
在ACC表上,我有ID和NAME列。 在POS表中,有LAT和LONG列,在CON表中,有AccID和FrID列。
舉個例子。
ACC / POS / CON
ID NAME / ID LAT LONG / AccID FrID
1 Mike 1 10 15 1 2
2 Bob 2 20 25 1 4
3 Jack 3 18 21 2 3
4 Rocky 4 37 45 2 1
這是我3個表中的數據。 現在,我想從POS中選擇所有LAT和LONG值,並從NAME中選擇其中FrID中的AccID的NAME值。
更具體地說,我要檢查邁克的朋友的拉特朗。 在Con表上有Mike的兩個朋友,ID = 2和ID = 4,所以我想得到一張桌子。
ACC_NAME LAT LONG
Bob 20 25
Rocky 37 45
您能給我一個關於這個問題的查詢示例。 謝謝。
您可以嘗試使用INNER JOIN
。 這是完整的查詢:
SELECT ACC.Name, POS.LAT, POS.LONG FROM CON
INNER JOIN ACC ON CON.FrID = ACC.ID
INNER JOIN POS ON POS.ID = ACC.ID
WHERE CON.AccID = 1
在這里解釋
獲取邁克的所有朋友
SELECT * FROM CON WHERE CON.AccID = 1 -- Mike Account Id
通過加入Acc表獲取朋友姓名
SELECT ACC.Name FROM CON INNER JOIN ACC ON CON.FrID = ACC.ID WHERE CON.AccID = 1
通過POS表加入來獲得Lat ang Long
SELECT ACC.Name, POS.LAT, POS.LONG FROM CON INNER JOIN ACC ON CON.FrID = ACC.ID INNER JOIN POS ON POS.ID = ACC.ID WHERE CON.AccID = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.