如何使用SQL中另一个表中的列替换一个表中的列

时间:2015-11-10 21:39:58

标签: mysql

表1列:jobs_id,job_id,customer_id,time

表2列:customer_id,name

如何使用表2中的名称替换表1中的customer_id。然后按最低时间对表1进行排序。

3 个答案:

答案 0 :(得分:1)

如果是

select t1.jobs_id,t1.job_id,t1.customer_id,t1.time
from table1 t1
order by t1.time

它变成了

select t1.jobs_id,t1.job_id,t1.customer_id,t1.time,t2.name
from table1 t1
join table2 t2
on t2.customer_id=t1.customer_id
order by t1.time

select t1.jobs_id,t1.job_id,t1.time,t2.name
from table1 t1
join table2 t2
on t2.customer_id=t1.customer_id
order by t1.time

答案 1 :(得分:1)

table1和table2之间通过customer_id列存在关系。您可以使用该关系在单个查询中将这两个表连接在一起,以获得所需的结果。

SELECT t1.jobs_id, t1.job_id, t1.customer_id, t2.name, t1.time
    FROM table1 t1
        INNER JOIN table2 t2
            ON t1.customer_id = t2.customer_id
    ORDER BY t1.time;

答案 2 :(得分:1)

您正在寻找的是JOIN根据某种关系将多个表中的信息加入到一起,通常它们共享相同的密钥,如customer_id

SELECT name
FROM table1
JOIN table2 ON table2.customer_id = table1.customer_id
ORDER BY table1.time

这表示"对于table1中的每一行,去表2中找到具有匹配customer_id的行"。现在,您可以使用两个表中的列。

JOIN是关系数据库最重要的优势之一。这是a good visual representation of the different types