2016-11-17 3 views
0

クエリを実行して、betweenのデータ値を取得しようとしています。sqlクエリ:BETWEEN

私はここでいくつかの質問を見ましたが、私のクエリはより複雑です。

これはクエリです:

SELECT calendar.datefield AS DATE, 
IFNULL(count(lead.insertDate) , 0) AS task 
FROM lead 
RIGHT JOIN calendar ON (DATE(lead.insertDate) = calendar.datefield) 
AND lead.lpid = '40' 
WHERE insertDate BETWEEN '2016-01-05' AND '2016-01-23' 
GROUP BY DATE 

私は、問題は、クエリ構文である私はwhere行を追加するまで、クエリが良い作品だと思います。

+0

'where'行を追加するとどのようなメッセージが表示されますか? – CGritton

+0

http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-クエリ – Strawberry

+0

あなたはinsertDateにどのようなデータ型を持っていますか? –

答えて

1

where句の外側に条件を配置しました。これを試して。

SELECT calendar.datefield AS DATE, 
IFNULL(count(lead.insertDate) , 0) AS task 
FROM lead 
RIGHT JOIN calendar ON (DATE(lead.insertDate) = calendar.datefield) 
WHERE insertDate BETWEEN '2016-01-05' AND '2016-01-23' 
AND lead.lpid = '40' 
GROUP BY DATE 
+0

'AND lead.lpid = '40''が' WHERE'節に含まれている場合、 'inner join'のように動作します。しかし、彼はLEFT JOINを試みている。 – Viki888

+0

OPには左結合を求めることはできません。 – FallAndLearn

+0

申し訳ありません、それは '右のジョイン 'です。その条件が 'WHERE'節に置かれている場合、' INNER JOIN'のように動作します。 – Viki888

関連する問題