[英]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.