2014-11-13 9 views
0
내가이 오후 6

SQL 하위 쿼리 - 데이터 형식 불일치 오류

SQL 쿼리를 오후 2 월요일에는 timetabled 강의가없는 학생을위한, 학생 이름과 과정 코드를 나열하는 하위 쿼리를 사용할

SELECT fname, surname, courseCode, dayReq, timeReq 
FROM student, roomBooking 
WHERE id IN 
(SELECT sID 
FROM studentReg 
WHERE NOT dayReq = "Monday" AND timeReq BETWEEN "14:00:00" AND "18:00:00"); 

입니다 그리고 내가 이것을 실행하려고 할 때, 나는 "14시 0분 0초"AND "18시 0분 0초"부분 사이의 timeReq에 해당하는 "조건 식에서 데이터 형식이 일치"를 얻는다.

timeReq는 날짜/시간 데이터 형식이므로이 오류가 나타나는 이유를 모르겠습니다.

+2

안녕 로라처럼, 당신의 간격 것을 (학생, roomBooking 비교) – PKirby

+1

Laura 테이블 구조 또는 ddl 또는 쿼리와 관련된 내용을 알려주십시오. –

+1

왜 'student'와'roomBooking'에 대한 크로스 조인을하고 있습니까? –

답변

0

timeReq에서 시간을 얻기 위해 DATEPART 함수를 사용하여 시도하고 당신이 우리에게 당신의 테이블 내용의 예를주세요 수 있습니다,이

SELECT fname, 
     surname, 
     coursecode, 
     dayreq, 
     timereq 
FROM student, 
     roombooking 
WHERE id IN (SELECT sid 
       FROM studentreg 
       WHERE NOT dayreq = "monday" 
        AND Datepart("h", timereq) BETWEEN 14 AND 18) 
+0

내가 이것을 시도 할 때 h에 대한 매개 변수 값을 묻습니다. –

+0

죄송합니다, 저의, 저번을 인용하는 것을 잊어 버렸습니다.이 함수에 대해 찾은 설명서가 있습니다. http : //www.techonthenet. co.kr/access/functions/date/datepart.php –