2013-11-02 2 views
0

좋아, 그래서이 특정 ID 만 가진 특정 조건/특정 행/행에 대해 시작 및 종료 날짜를 사용하고 싶습니다. 특정 조건에 대한 날짜 만

예를 들어 ORDER_STATUS의 = '1' 만 해당 다음 시작 및 종료 날짜와 ORDER_STATUS의 =의 '2'은 모든 선택하면 사용하는 경우. PHP를 사용하여 데이터베이스에서이 정보를 가져온 다음 배열에 저장합니다.

현재 나를 위해이 작업을 수행하는 두 가지 쿼리가 있지만 두 개의 다른 배열에 저장해야하며 두 개의 다른 배열로 표시해야합니다. 내가 원하는 것은이 모든 것을 하나의 배열에 저장 한 다음 foreach 루프를 사용하여 두 조건에 대한 모든 결과를 한 곳에서 에코하는 것입니다.

희망이 있지만 충분히 명확하지 않은 경우 의견을 보내 주시면 코드와 검색어도 함께 알려 드리겠습니다. 날짜없이 을 내보내기위한 날짜 (ORDER_STATUS = 1)

SELECT ov.order_number, 
    m.name   AS brand, 
    op.name   AS model, 
    op.product_grade AS grade, 
    o.date_added 
    FROM `order` o, 
    op.order_product_veri, 
    manufacturer m, 
    product p 
    WHERE opv.product_id = p.product_id 
    AND p.manufacturer_id = m.manufacturer_id 
    AND op.order_status = '1' 
    AND Date (o.date_added) >= '2013-10-22' 
    AND Date(o.date_added) <= '2013-11-02' 

쿼리를 내보내기위한

쿼리 (ORDER_STATUS = 2)

SELECT op.order_number, 
    m.name   AS brand, 
    op.name   AS model, 
    op.product_grade AS grade, 
    o.date_added 
    FROM `order` o, 
    op.order_product_veri, 
    manufacturer m, 
    product p 
    WHERE opv.product_id = p.product_id 
    AND p.manufacturer_id = m.manufacturer_id 
    AND op.order_status = '2' 
+0

당신은 포함해야 당신의 암호. – zero323

+0

또한 귀하의 MySQL 테이블 및 명확하지 않은 질문을 재정의하십시오 ... –

+0

그리고 SQL 코드 형식을 배우고 ANSI JOIN 구문을 사용하는 ... 잘못된 구문을 남용하여 두 번째 쿼리를 사용하면 잘못 사용하는 것이 쉽습니다 INNER JOIN ... SQL은 오류가 없거나 SQL oneliners가 디버깅하거나 쿼리를 이해하기에 좋지 않습니다. –

답변

0
SELECT 
    op.order_number, 
    m.name AS brand, 
    op.name AS model, 
    op.product_grade AS grade, 
    o.date_added 
FROM 
    order o, 
    op.order_product_veri, 
    manufacturer m, 
    product p 
WHERE 
    opv.product_id = p.product_id and 
    p.manufacturer_id = m.manufacturer_id and 
    (
     op.order_status = '2' or 
     (op_order_status = '1' and date(o.date_added) >= '2013-10-22' and date(o.date_added) <= '2013-11-02' 
    ) 
+0

굉장! 정확히 내가 뭘 찾고 있었는지, 고마워! – James

관련 문제