Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两个日期之间的查询_Php_Mysql_Date - Fatal编程技术网

Php 两个日期之间的查询

Php 两个日期之间的查询,php,mysql,date,Php,Mysql,Date,这是我的sql查询,但问题是当执行此查询时,它的show single结果意味着我的product表包含pid和pname,stock表包含pid、rate、Quantity和date 我想显示两个日期之间的记录。 我的查询与两条记录匹配。但当我添加“AND product.pid=stock.pid”时,它只显示1条记录。 我想在库存表的pid方面显示产品表中的产品名称。可能有些产品不在库存中。此外,我建议您执行以下操作: SELECT product.pname,stock.pid,stoc

这是我的sql查询,但问题是当执行此查询时,它的show single结果意味着我的product表包含pid和pname,stock表包含pid、rate、Quantity和date

我想显示两个日期之间的记录。
我的查询与两条记录匹配。但当我添加“AND product.pid=stock.pid”时,它只显示1条记录。

我想在库存表的pid方面显示产品表中的产品名称。

可能有些产品不在库存中。此外,我建议您执行以下操作:

SELECT product.pname,stock.pid,stock.qty,stock.rate
FROM product,stock
WHERE (date BETWEEN '2012-04-10' AND '2012-07-16') AND product.pid=stock.pid

我使用了LEFT JOIN,这意味着返回产品,无论是否有库存,我认为通过此查询,您将得到两行。

首先尝试在没有JOIN的情况下使其工作:

SELECT product.pname,stock.pid,stock.qty,stock.rate
FROM product
LEFT JOIN
stock
ON product.pid=stock.pid
WHERE (date BETWEEN '2012-04-10' AND '2012-07-16')
如果可行,则使用外部连接将信息添加到每一行,而不删除任何行

SELECT stock.pid, stock.qty, stock.rate
FROM stock
WHERE stock.date BETWEEN '2012-04-10' AND '2012-07-16'
如果找不到任何产品,则产品名称将为空。

请尝试以下查询

SELECT product.pname, stock.pid, stock.qty, stock.rate
FROM stock
LEFT JOIN product ON product.pid=stock.pid
WHERE stock.date BETWEEN '2012-04-10' AND '2012-07-16'
你的选择标准 其中([库存]日期介于“2012-04-10”和“2012-07-16”之间)
使其有效地右键联接,只显示在日期范围内有/有库存的记录。如果要显示所有产品,而不考虑库存,则需要添加或[库存]日期在选择条件中为空。

左加入?选择product.pname、stock.pid、stock.qty、stock.rate FROM product LEFT JOIN stock ON product.pid=stock.pid WHERE(日期介于'2012-04-10'和'2012-07-16'之间)和product.pid=stock.pid更好地编写您的文本描述。丹尼尔·阿兰加:我想您会发现WHERE子句仍然会使其等同于右连接
SELECT product.pname,stock.pid,stock.qty,stock.rate
FROM product,stock
WHERE stock.date BETWEEN '2012-04-10' AND '2012-07-16' AND product.pid=stock.pid