簡體   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