繁体   English   中英

选择中的SQL查询子查询

[英]SQL Query subquery in select

我有2张桌子。

表格1

+----+------+
| Id | Name |
+----+------+
|    |      |
+----+------+

表2

+-----+-----------+------+-------+---------+
|  Id | Table1_ID | Name | Value | Created |
+-----+-----------+------+-------+---------+
|     |           |      |       |         |
+-----+-----------+------+-------+---------+

当我运行SELECT * FROM Table2 ,我希望将Table1_ID替换为Table 1中该项目IDname ,而不是ID 我怎样才能做到这一点?

用户内部加入,像这样

SELECT
    T2.Id
    T1_Name = T1.Name ,--Table1_ID 
    T2_Name = T2.Name
    T2.Value
    T2.Created
    FROM Table1 T1
        INNER JOIN Table2 T2
            ON T1.ID = T2.Table1_ID

您可以为此使用INNER JOIN

INNER JOIN语法1

SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.fk_id

INNER JOIN语法2

SELECT *
FROM table1
INNER JOIN table2
WHERE table1.id = table2.fk_id

SELECT Table2.Id, Table2.Name, Table1.Name, Table2.Value, Table2.Created 
FROM Table2
INNER JOIN Table1 ON Table1.ID = Table2.Table1_ID

推荐读物
http://sql.sh/cours/jointures/inner-join
https://www.w3schools.com/sql/sql_join_inner
https://www.tutorialspoint.com/sql/sql-inner-joins

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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