2014-07-17 4 views
0

집 프로젝트에서 여기 두 열에서 여러 필드를 선택해야합니다.이 두 테이블을 결합하기 위해 내부 결합을 사용했습니다. 필드와 일치하는 단일 열이 있지만 난 주어진 날짜와 다른 테이블 sales_detail이 ID 일치 내가 다른 두 조건을 확인해야 사이 해당 ID를 선택해야내 쿼리 결과에 아무런 행이 표시되지 않는 이유

$frm_dt='2014-02-26'; 
    $to_d='2014-07-17'; 
     $sel_ser=mysql_query("SELECT m.counterSalesMasterId, m.date, m.cust_name, m.cust_doctor, d.ProductId, d.productBatchId, d.qty FROM sales_master as m INNER JOIN sales_details as d ON m.counterSalesMasterId=d.counterSalesMasterId WHERE (m.date BETWEEN $frm_dt AND $to_d) AND (d.sales_h1_flag='Y')")or die(mysql_error());  
     ECHO MYSQL_NUM_ROWS($sel_ser); 
     while($res1=mysql_fetch_array($sel_ser)) 
     { 
         print_r($res1); 

     } 

다음과 같이 쿼리 내 코드는 필드를 선택하기 위해 두 개의 상태를 확인해야하는 난 위에서 언급 한 것

Plz 조이 어서 아주 새롭게 도왔습니다

답변

0

날짜 주위에 작은 따옴표를 사용하십시오.

$sel_ser=mysql_query(" 
    SELECT m.counterSalesMasterId, m.date, m.cust_name, m.cust_doctor, d.ProductId, d.productBatchId, d.qty 
    FROM sales_master as m 
     INNER JOIN sales_details as d ON m.counterSalesMasterId=d.counterSalesMasterId 
    WHERE (m.date BETWEEN '$frm_dt' AND '$to_d') AND (d.sales_h1_flag='Y')")or die(mysql_error()); 

여전히 작동하지 않으면 쿼리를 에코하고 날짜가 포함 된 쿼리를 게시하십시오. 또한 테이블의 날짜 필드가 실제로 날짜 필드가 아닌 문자열 필드 (varchar 등)인지 확인하십시오.

또한 Inner Join을 사용하면 조인 할 테이블에 원본 From 테이블과 일치하는 관련 행이없는 경우 원본 테이블의 행을 가져올 수 없습니다.

+1

고맙습니다. 제임스, 좋은 작품입니다. – sarika

+0

@sarika 기꺼이 도와 드리겠습니다. – James

관련 문제