簡體   English   中英

從兩個不同的表中選擇

[英]Select from two different tables

因此,我有兩個表,表R和表N。表R中的數據來自表N。我的問題是我不知道將顯示如下結果的SELECT查詢,因為有4個名稱,並且SQL只能選擇1。是否有查詢或任何其他方式來獲取結果?

Table R:
Id1 Id2 Id3 Id4
1   3   5   7
2   4   6   8

Table N:
Id  Name
1   A
2   B
3   C
4   D
5   E
6   F
7   G
8   H

SELECT語句之后,結果應如下所示:

Name1   Name2   Name3   Name4
A       C       E       G
B       D       F       H

無論如何,感謝您的幫助。 ^ _ ^

SELECT
  N1.Name AS `Name1`,
  N2.Name AS `Name2`,
  N3.Name AS `Name3`,
  N4.Name AS `Name4`
FROM
  R
INNER JOIN
  N N1
ON
  N1.Id = R.Id1
INNER JOIN
  N N2
ON
  N2.Id = R.Id2
INNER JOIN
  N N3
ON
  N3.Id = R.Id3
INNER JOIN
  N N4
ON
  N4.Id = R.Id4
select
  n1.Name as Name1,
  n2.Name as Name2,
  n3.Name as Name3,
  n4.Name as Name4
from
  R
  inner join N n1 on n1.id = R.id1
  inner join N n2 on n2.id = R.id2
  inner join N n3 on n3.id = R.id3
  inner join N n4 on n4.id = R.id4
  1. 您可以在查詢中重命名表
  2. 只要您重命名同一張表,就可以多次聯接它,因此:

     select N1.Name, N2.Name, N3.Name, N4.Name from R join N as N1 on N1.Id = Id1 join N as N2 on N2.Id = Id2 join N as N3 on N3.Id = Id3 join N as N4 on N4.Id = Id4 

    (當然,這相當於

     select N1.Name, N2.Name, N3.Name, N4.Name from R, N as N1, N as N2, N as N3, N as N4 where N1.Id = Id1 and N2.Id = Id2 and N3.Id = Id3 and N4.Id = Id4 

    (on子句僅添加到連接逗號的位置)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM