sql语句实现一个输入框下多条件查询

  1.    select oh.*,s.StatusName,st.Status,ps.StatusName AS PayStatusName from orderheader oh 
  2. LEFT JOIN orderdetail od on od.OrderID=oh.OrderID 
  3. LEFT JOIN customer c on oh.CustomerID = c.CustomerID
  4. LEFT JOIN (SELECT StatusName,StatusCode from `status` where StatusType='OrderStatus') as  s on s.StatusCode=oh.OrderStatus
  5.                LEFT JOIN (SELECT StatusName,StatusCode from `status` where StatusType='PayStatus') as  ps on ps.StatusCode=oh.PayStatus
  6. lEFT JOIN(select Status,OrderID from troublecase) as st on st.OrderID=oh.OrderID
  7. where 1=1
  8. and DATE_FORMAT(OrderDate,'%Y-%m-%d')>=DATE_FORMAT(#{pd.StartDate},'%Y-%m-%d')
  9. and DATE_FORMAT(#{pd.EndDate},'%Y-%m-%d')>= DATE_FORMAT(OrderDate,'%Y-%m-%d')
  10. and (
  11. c.LoginID like CONCAT('%',#{pd.Customer},'%') or c.Email like CONCAT('%',#{pd.Customer},'%') or oh.Email like CONCAT('%',#{pd.Customer},'%')
  12. )
  13. and ItemName like CONCAT('%',#{pd.ItemName},'%')

  14. and (
  15. OrderNumber like CONCAT('%',#{pd.OrderNumber},'%') or RefOrderNumber like CONCAT('%',#{pd.OrderNumber},'%')
  16. )
  17. and oh.OrderStatus != 'Deleted'
  18. and OrderStatus=#{pd.OrderStatus}
  19. and PayStatus=#{pd.PayStatus}
  20. and WarehouseID=#{pd.WareHouseId}
  21. and SaleMarketID=#{pd.SalesMarket}
  22. and StorageBarCode =#{pd.StorageBarCode}
  23. and wareHouseId =#{pd.WareHouseID}
  24. group by oh.OrderID
  25. order by DATE_FORMAT(oh.OrderDate, '%Y-%m-%d') desc,oh.CreatedDate DESC 

你可能感兴趣的:(sql语句)