2
select hotel.*, hotels.type 
from pe,se 
where p.hotel_Id = s.S_Id 
  and Type="";

私が得た出力は

 pid     SId     PName     PPlan     PMethod     PDate     numberOfParents     SType    
 ---------------------  ----------  -------------------------  -------------------------  ---------------------------  -------------------------  ------------------  ------------ 
 4                      2           kjbkjbjkbk                 jkbjbkbl                   lkblknl                      10/5/2012                  234                 abc       
 6                      2           dfvrvt                     rvrtv                      rvrtvrt                      1/1/2012                   3                   abc       
 9                      2           er                         

今私の問題は、データが日付の範囲にあるように出力されるようにクエリが必要なことです。たとえば、2012年8月9日から2012年10月12日まで。

これとは別に、>=と<=を使用して日付範囲のmysqlクエリを記述できます。しかし、現在のクエリでその日付範囲の部分を組み合わせることができませんでした。私を助けてください。

4

2 に答える 2

1

WHERE括弧を使用すると、日付範囲を処理するときに句を明確にするのに役立ちます。

SELECT p.*
  , s.Site_Type 
FROM parentengagement AS p
INNER JOIN site AS s ON p.Site_Id = s.Site_Id 
  AND s.Site_Type = 'County'
  AND
  (
     p.Parent_Engagement_Date >= '2012-08-09'
       AND p.Parent_Engagement_Date <= '2012-10-12'
  )

また、結合に関する優れた視覚的表現INNER JOINがあるのではなく、構文を使用することをお勧めします。FROM table1, table2


コメントからの更新: OPは、各サイトのnumberOfparentsを合計したいと考えています。

SELECT s.Site_Type 
   , SUM(p.NumberOfParents)
FROM parentengagement AS p
INNER JOIN site AS s ON p.Site_Id = s.Site_Id 
  AND s.Site_Type = 'County'
  AND
  (
     p.Parent_Engagement_Date >= '2012-08-09'
       AND p.Parent_Engagement_Date <= '2012-10-12'
  )
GROUP BY s.Site_Type
于 2012-10-30T21:51:27.647 に答える
1

同じクエリを実行したいが、日付範囲に制限する場合は、次のように同じクエリで実行できるはずです。

select parentengagement.*, site.Site_Type 
from parentengagement,site 
where 
    parentengagement.Site_Id = site.Site_Id and 
    site.Site_Type="County" and
    parentengagement.Parent_Engagement_Date > '2012-10-30' and
    parentengagement.Parent_Engagement_Date <= '2012-10-31'
于 2012-10-30T21:53:26.217 に答える