2013-04-19 5 views
0

쿼리에서 날짜 범위와 트랜잭션 유형을 가져 오려고합니다. 나는 PHP로 MySQL 데이터베이스를 가지고 일하고있다. 원래, 문 그것은 아름답게 작동하지 않습니다 모든 @ 더 문제Where in select 문을 두 개 사용할 수 있습니까

  ("select * from accounting WHERE date between '$startdate' AND 
     '$enddate'",$prop); 

했다. 그러나 데이터베이스에서 트랜잭션 유형이라고하는 열을 선택해야합니다.

  ("SELECT date, account, description, Income FROM accounting where 
      transactiontype = 'Income' and WHERE date between '$startdate' AND 
      '$enddate' order by date ASC",$prop); 

나는 오류 메시지를 받고 있어요 : 오류 : 여기에 내가 수정 방법 당신은 당신의 SQL 구문에 오류가 있습니다를; '2012/09/01'AND '2013/04/17'날짜순 정렬 순서 ASC 'in first line 근처에서 사용할 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 쿼리 : SELECT 날짜, 계정, 설명, Income FROM accounting where transactiontype = 'Income'이고 날짜는 '2012/09/01'과 '2013/04/17'날짜 사이입니다. 날짜 : ASC 도움을 주시면 감사하겠습니다.

+0

드롭 제를 제거한다. (추신 : 나는 투표하지 않았다.) – Paul

답변

2

충분하면 2 차수는 필요하지 않습니다.

("SELECT `date`, account, description, Income 
    FROM accounting 
    WHERE transactiontype = 'Income' 
    AND `date` between '$startdate' 
    AND '$enddate' order by `date` ASC",$prop); 

그런데 예약 된 키워드는 테이블/열 이름 (예 : 날짜)로 사용하지 마십시오. 항상 그 (것)들을 도주해야하고 (또한 항상 잊지 않을 것이다).

+0

그건 작동합니다! 신속한 도움에 감사드립니다! –

0
("SELECT date, account, description, Income FROM accounting where 
    transactiontype = 'Income' and "date" between '$startdate' AND 
'$enddate' order by date ASC",$prop); 

음성 마커 또는 진드기 (`)로 표시된 날짜를 묶어야 할 수도 있습니다.

+0

네 - 그걸로 네 지식에 절을거야! ;영형) – Paul

0

친절 두번째 절 ..

 (SELECT date, account, description, Income FROM accounting where 
     transactiontype = 'Income' and (date between '$startdate' AND 
     '$enddate') order by date ASC",$prop) 
관련 문제