-4

私はSQLクエリについてかなりの知識を持っています。

日付を取得しようとしていますが、ohrm_leave と ohrm holiday の 2 つのテーブルがあります。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

「日付」列で両方のテーブルを内部結合できます。これにより、日付が両方のテーブルに存在する結合された行が返されます。その後、この「新しい」テーブルから日付列を選択して、それを反復処理できます。

于 2013-04-29T09:58:47.643 に答える
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

単純に JOIN または WHERE を使用できます

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

この JOIN は、結合される両方のテーブルに値が存在する必要がある内部結合のタイプです。

http://dev.mysql.com/doc/refman/5.0/en/join.htmlの詳細

null 値が必要な場合は、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 date FROM ohrm_leave
INTERSECT
SELECT date FROM ohrm_holiday;
于 2013-04-29T10:01:47.280 に答える