mysql - sql - 选择包含 2 个表的一列

标签 mysql sql mariadb

我有两个表,我想要一个结果:如果 CID 和 CID2 相等,则打印 cpu 关于 CID2 的值

first table A :
+------+---------------------+--------------------+-----------------+
| CID  | time                | step               | time_in_seconde |
+------+---------------------+--------------------+-----------------+
|    1 | 2017-07-27 06:26:50 | gege               |          10.229 |
|    2 | 2017-07-27 06:26:58 | rere               |          10.239 |
|    3 | 2017-07-27 06:35:52 | gege               |          13.229 |
|    4 | 2017-07-27 06:36:56 | titi               |          12.823 |
|    5 | 2017-07-27 06:55:04 | fefe               |          12.667 |



second table B  :
+------+---------------------+-----------------+
| CID2 | time                | cpu             |
+------+---------------------+-----------------+
|    3 | 2017-07-27 06:35:52 |          0.01   |
|    4 | 2017-07-27 06:36:56 |          0.05   |
|    5 | 2017-07-27 06:55:04 |          0.03   |

结果:

+------+---------------------+-----------------+
| CID2 | time                | cpu             |
+------+---------------------+-----------------+
|    1 | 2017-07-27 06:26:50 |                 |
|    2 | 2017-07-27 06:26:58 |                 |
|    3 | 2017-07-27 06:35:52 |          0.01   |
|    4 | 2017-07-27 06:36:56 |          0.05   |
|    5 | 2017-07-27 06:55:04 |          0.03   |

我的 sql 请求不起作用:

select A.cid, A.time, C.cpu from A INNER JOIN B on A.cid = B.CID2 where A.time ="2018-12-17 14:00:00";

我使用mariadb,我需要条件时间= 2017-07-27 06:55:04,因为我有数百万行

你有什么想法吗,谢谢你的信息

最佳答案

您可以通过左连接来完成此操作,例如

select 
  ta.CID, ta.time,tb.cpu 
from 
  TableA ta 
left join 
  TableB tb on ta.CID=tb.CID2

如果您想避免 cpu 为空,请将其转换为其他值,例如0 与 ISNULL(cpu,0)

在这里查看 w3schools 上的不同加入类型:https://www.w3schools.com/sql/sql_join_left.asp

关于mysql - sql - 选择包含 2 个表的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54537958/

相关文章:

mysql - 删除与某些通配符匹配的 MySQL 数据库?

mysql - R Shiny 应用程序中的 SQL 查询语法 - CAST

python - 有没有办法让mariadb与python2.7连接

mysql - 选择要删除哪个重复行?

mysql - 执行 Mariadb 更新语句时出错

java - 如何使用 MySQL 自增列?

php - 未使用 DEFAULT 值创建表

java - 如何查找结果集的磁盘使用情况?

sql - 同一张表上 SQL 中的关系

SQL Server 舍入错误,给出不同的值