SQL auf, wie Sie gleichzeitig vergleichen zwei Werte in der Spalte in einer Abfrage

Brauche ich eine Abfrage erstellen, die zu finden, die Namen der Fahrer, deren Prüfungsergebnisse bekommen geringer, wenn Sie mehr Prüfungen. Also ich habe folgende Tabellen:

branch(branch_id, branch_name, branch_addr, branch_city, branch_phone);
driver(driver_ssn, driver_name, driver_addr, driver_city, driver_birthdate, driver_phone);
license(license_no, driver_ssn, license_type, license_class, license_expiry, issue_date, branch_id);
exam(driver_ssn, branch_id, exam_date, exam_type, exam_score);

**die exam_date ist ein Datum

So, ich bin mit dem Tabellen-Treiber und-Prüfung. Ich würde gerne irgendwie überprüfen, dass die exam_date>anotherDate, während zur gleichen Zeit die überprüfung, dass exam_score

*EDIT

Dies ist, was ich kam mit, aber ich fühle mich wie einige der syntax ist illegal. Ich bekomme immer einen syntax-Fehler.

s.executeQuery("SELECT driver_name " +
"FROM driver " +
"WHERE driver.driver_ssn IN " +
"(SELECT e1.driver_ssn" +
"FROM exam e1" +
"WHERE e1.exam_score < " +
"(SELECT e2.exam_score FROM exam e2)" +
"AND e1.exam_date > " +
"(SELECT e2.exam_date FROM exam e2)");

BEARBEITEN! Ich habe es funktioniert! Vielen Dank für Ihre Eingabe jeder!

SELECT driver.driver_name 
FROM driver
WHERE driver.driver_ssn IN
    (SELECT e1.driver_ssn 
    FROM exam e1, exam e2, driver d 
    WHERE e1.exam_score < e2.exam_score
    AND e1.exam_date > e2.exam_date 
    AND e1.driver_ssn=e2.driver_ssn)
InformationsquelleAutor user1202994 | 2012-11-09
Schreibe einen Kommentar