0
我有一個輸入屏幕,可以輸入8個輸入值。輸入值如下sql和multiple where查詢
tCustomerIDStart - tCustomerIDEnd
tProjectIDStart - tProjectIDEnd
tDateStart - tDateEnd
tProjectStatusStart - tProjectStatusEnd
一旦用戶單擊表單提交,我想對我的SQLite數據庫執行查詢。下面的查詢是我想要的基本輪廓,但是我不太確定如果用戶只輸入一對搜索條件, tDateStart - tDateEnd。我可以通過查詢來省略其他子句嗎?在調用其他子句之前,WHERE語句中的第一個子句總是必須計算爲true。如果所有字段都填充了,我可以構造一個查詢,主要是使用WHERE語法,然後使用AND來構建子句。但是,sql是否可以忽略空對的搜索條件字段?
"SELECT project.start_date, project.projectID, project.project_title, customer.customer, " &\
"project.end_date, project.project_manager, project_status.project_status " &\
"FROM project " &\
"LEFT JOIN customer " &\
"ON project.customerID=customer.customerID " &\
"LEFT JOIN project_status " &\
"ON project.project_statusID=project_status.project_statusID " &\
"WHERE project.projectID BETWEEN " & tProjectIDStart & " AND " & tProjectIDEnd & " " &\
"OR customer.customerID BETWEEN " & tCustomerIDStart & " AND " & tCustomerIDEnd & " " &\
"OR project.project_status_id BETWEEN " & tStatusIDStart & " AND " & tStatusIDEnd & " " &\
"OR project.start_date >= " & tDateStart & " AND " & tDateEnd & " " &\
"ORDER BY date(project.start_date) ASC "
謝謝 - 這是一個乾淨利落的做法 – JK36