在Datetime字段上加入查询

时间:2015-03-14 15:26:15

标签: mysql sql

我需要根据以下条件编写查询。

我有两个表,因为我需要从table1获取所有列,并根据日期字段从另一个字段中获取另一个列。 Date 1中的Table 1字段为Datetime格式, Date2内嵌table 2格式的date字段。

我假设以下查询,请更新我是否有任何更改

Select Table1.*, c3 
From Table1
Full Outer join
Table2 
On Date(Date1) = Date2
  • 这里我使用Date函数将datetime字段转换为日期格式。
  • C3是表2中的列。

请确认我应该使用哪个加入?

1 个答案:

答案 0 :(得分:1)

您的ON子句看起来是正确的。您的规范似乎要求JOIN(内部联接)或LEFT JOIN。 MySQL没有FULL OUTER JOIN。无论如何,它可能对您的应用程序没有意义。 (但这是我的猜测。)

试试这个。

       SELECT t1.*, t2.c3
         FROM Table1 t1
    LEFT JOIN Table2 t2 ON Date(t1.Date1) = t.Date2

这将为您提供Table1中的每一行,以及Table2中相关的c3值。如果Table1中的任何给定行缺少表2中的相应行,则c3值将为NULL(这是LEFT JOIN的作用)。