我需要有关此问题的帮助

时间:2016-10-05 18:56:19

标签: mysql sql-server

假设我有一个包含两列的表格。实际上它将在两个不同的表中,但为了简单起见,我们可以使用一个表。我只想知道如何解决这个问题

     A   |     B
------------------------
 2016-01 |  2015-00
 2016-02 |  2015-01 
 2017-01 |  2017-01
 2018-00 |  2018-01    

如何编写选择列A并将其与列B进行比较的查询。

我想要

  • 2016-01对应2015-01
  • 2016-022015-01
  • 2017-012017-01
  • 2018-002017-01(因为2018-00小于2018-01

如何确保列A仅从B列中选择列A大于列B的值。

我尝试将查询编写为

SELECT A FROM TB1 WHERE '1016-01' >= (SELECT MAX(B) FROM TB1)

但是这个查询不起作用,因为max(b)将始终返回“2017-01

2 个答案:

答案 0 :(得分:0)

SQL Server 中,您可以使用以下内容:

A       B
2016-01 2015-01
2016-02 2015-01
2017-01 2017-01
2018-00 2017-01

将输出:

-

我们的想法是将201501替换为int之类的值,然后将其作为{{1}}值进行比较。

答案 1 :(得分:-1)

使用2个不同的表

SELECT A.Col, B.Col
FROM A JOIN B ON A.Col >= B.Col