2017-01-30 1 views
0

SQL에서 "복잡한"계산을 계산하려고합니다. 나는 파이썬으로 프로그래밍하고 sqlite3을 사용하고있다.함수에서 SQL 부분의 부분을 계산하십시오

lat 및 lng 필드가 2 개의 값 사이에있는 첫 번째 레코드 (s라고 함)를 가져와야합니다.
뭔가 같은 :

s.lat < = LAT < = s.lat + 알파와 < = LNG < = s.lng + 내가 이것을 작성하는 노력했습니다

베타 s.lng : LT를 , LG 전자, 알파와 베타는 플로트 변수는

 c.execute('SELECT * FROM squares WHERE (lat <= ? and ? <= lat  + ? and long <= ? and ? <= long + ? ',(lt,lt,alpha,lg,lg,beta)) 
     rslt =c.fetchone() 
     print rslt 

비트는 예외

은, 대단히 감사에게 제기

Sarah

+1

'WHERE' 다음에 열리는 괄호를 닫는 것을 잊었습니다. 코드에서 항상 예외를 발생시키는 질문을하면 항상 전체 오류 메시지를 게시하십시오. – Duncan

답변

0

Duncan이 괄호에 대해 올바르게 지적했습니다. 또한 줄 대신 "BETWEEN"명령을 사용합니다.

c.execute('SELECT * FROM squares WHERE (lat BETWEEN ? AND ?+? AND long BETWEEN ? AND ?+?'),(lt,lt,alpha,lg,lg,beta)) 
관련 문제