SQL Server 单一查询问题

标签 sql sql-server database dynamic-queries

我一直在尝试查询一些信息,但我似乎无法提出查询。下面是表格信息和我当前的查询。

公司表:

+-----------+-----------+------------+
| CompanyID |  Address  | PostalCode |
+-----------+-----------+------------+
| a-coy     | 31 street |     111111 |
| b-coy     | 32 street |     111222 |
+-----------+-----------+------------+

修复表:

+----------+-----------+----------------+------------+----------+
| SerialNo | CompanyID | PersonInCharge | RepairDate | RepairBy |
+----------+-----------+----------------+------------+----------+
|    15000 | a-coy     | John           | 01-May-17  | Jason    |
|    15001 | a-coy     | John           | 02-May-17  | Jack     |
+----------+-----------+----------------+------------+----------+

我的目标是查询出最新的维修工程条目,但只有 1 个结果。

我目前的查询如下:

SELECT 
    c.companyid, c.address, r.repairdate, r.repairby
FROM 
    company c 
INNER JOIN 
    repair r ON c.companyID = r.companyID
WHERE 
    c.companyid = 'a-coy'

我得到以下结果:

+-----------+-----------+------------+----------+
| CompanyID |  Address  | RepairDate | RepairBy |
+-----------+-----------+------------+----------+
| a-coy     | 31 street | 01-May-17  | Jason    |
| a-coy     | 31 street | 02-May-17  | Jack     |
+-----------+-----------+------------+----------+

但我想要的结果只是具有最新维修日期的条目,它看起来完全像这样:

+-----------+-----------+------------+----------+
| CompanyID |  Address  | RepairDate | RepairBy |
+-----------+-----------+------------+----------+
| a-coy     | 31 street | 02-May-17  | Jack     |
+-----------+-----------+------------+----------+

最佳答案

SELECT TOP 1
c.companyid, 
c.address, 
r.repairdate,
r.repairby
FROM company c 
INNER JOIN repair r ON c.companyID=r.companyID
WHERE c.companyid = 'a-coy'
ORDER BY r.repairdate DESC

关于SQL Server 单一查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44237904/

相关文章:

mysql - 在 mysql 数据库中查找行和时间戳之间的交集

mysql - 将页脚行作为一组行的标题行

sql - 可视化 SQL 存储过程关系

java - 在sql查询中使用变量作为列名

php - 用于将Web表单输入到SQL的PHP​​下拉菜单

mysql - 非规范化外键关系是否可行?

mysql - SQL 2012 我的选择中的 MAX 未显示最大值

sql - 为什么当我使用临时表时,oracle 中的查询需要更长的时间?

mysql - 在 Mysql- PhpMyAdmin 中从它自己的触发器修改表

sql-server - 从存储过程插入期间出现 "The precision is invalid"?