-4

我对 SQL 查询有相当多的了解。

我正在尝试获取日期,并且我有 2 个表 ohrm_leave 和 ohrm holiday。我需要选择 ohrm_holiday 中存在的 ohrm_leave 日期。如果它存在,则 msg 将显示“它的存在”。

ohrm_leave http://s22.postimg.org/5wfklw6gt/ohrm_leave.jpg

ohrm_holiday http://s10.postimg.org/fs255n5ah/ohrm_holiday.jpg

4

5 回答 5

1

您可以在“日期”列上对两个表进行INNER JOIN 。这将返回两个表中都存在日期的连接行。之后,您可以从此“新”表中选择日期列并对其进行迭代。

于 2013-04-29T09:58:47.643 回答
0

您可以简单地使用 JOIN 或 WHERE

SELECT "it's present" FROM t1 JOIN t2 USING(`date`).

此 JOIN 是内连接的类型,它要求连接的两个表中都存在值。

更多关于http://dev.mysql.com/doc/refman/5.0/en/join.html

如果你想有空值,你可以使用 LEFT JOIN

于 2013-04-29T09:58:57.690 回答
0

尝试这个:

SELECT
  l.date,
  IF(h.date IS NULL , 'Its not present','Its present')
FROM 
  ohrm_leave as l
LEFT JOIN ohrm_holiday as h
  ON l.date=h.date
于 2013-04-29T09:59:44.880 回答
0
SELECT 
  d1.date 
FROM 
  ohrm_leave as d1 
INNER JOIN  ohrm_holiday as d2 
  ON D1.date=d2.date
于 2013-04-29T10:01:16.223 回答
0

尝试

SELECT date FROM ohrm_leave
INTERSECT
SELECT date FROM ohrm_holiday;
于 2013-04-29T10:01:47.280 回答