首页 > 解决方案 > php查询2个mysql表,日期为BETWEEN和多个子句

问题描述

我有 2 个名为 Receipts 和 Materials_Receipts_Markup 的表

我需要在表单中的特定用户输入日期之间查询这些 mysql 表,以及从两个表中搜索来自特定用户(techID)的所有日期的条件。到目前为止,我很难做到这一点,而且我认为我还没有接近。这是我到目前为止所拥有的

"SELECT Receipts.TechID, Receipts.TotalPrice, Receipts.TotalProfit,
Receipts.Date, Materials_Receipts_Markup.Markup, 
Materials_Receipts_Markup.DateOfReceipt,
Materials_Receipts_Markup.TechID".

"FROM Receipts, Materials_Receipts_Markup".

"WHERE Receipts.Date BETWEEN '$newStartDate' AND '$newEndDate' AND WHERE
Materials_Receipts_Markup.DateOfReceipt BETWEEN '$newStartDate' AND
'$newEndDate'".

"AND Receipts.TechID AND Materials_Receipts_Markup.TechID ='$FormTechID' ";

$newStartDate并且$newEndDate是日期,例如 2019-06-23

对于这么复杂的事情,我的 sql 技能还没有达到标准。任何帮助,将不胜感激

标签: phpmysql

解决方案


我认为您想使用 anOR来搜索每个分开的表,并TechID使用=以下运算符获取两者:

WHERE 
(
    (Receipts.Date BETWEEN '$newStartDate' AND '$newEndDate') 
    OR
    (Materials_Receipts_Markup.DateOfReceipt BETWEEN '$newStartDate' AND '$newEndDate') 
)
AND Receipts.TechID = Materials_Receipts_Markup.TechID AND Receipts.TechID ='$FormTechID'

推荐阅读