繁体   English   中英

使用来自SQL数据库中另一个表的数据获取来自两个表的数据

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

在这里解释

  1. 获取迈克的所有朋友

    SELECT * FROM CON WHERE CON.AccID = 1 -- Mike Account Id

  2. 通过加入Acc表获取朋友姓名

    SELECT ACC.Name FROM CON INNER JOIN ACC ON CON.FrID = ACC.ID WHERE CON.AccID = 1

  3. 通过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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM