SQL-запрос в OO Base, где и если - PullRequest
0 голосов
/ 03 августа 2010

Я абсолютно ничего не знаю о SQL, но я должен сделать SQL-запрос в OO Base. Запросы должны избегать сравнения, когда ячейка в таблице пуста. Я надеюсь, что кто-нибудь поможет мне.

SELECT "D"."Imię", "D"."Nazwisko", "D"."Data badania", "D"."Rodzaj auta", "D"."Obszar badany", "D"."Jednostka kierująca 1", "D"."Jednostka kierująca 2" 
FROM "Dane" AS "D", "Szukanie" AS "S" 
WHERE "D"."Data badania" BETWEEN "S"."Data_od" AND "S"."Data_do" AND
IF "S"."Imię" != "" THEN "D"."Imię" = "S"."Imię" AND
IF "S"."Nazwisko" != THEN "D"."Nazwisko" = "S"."Nazwisko" AND
IF "S"."Rodzaj auta" != "" THEN "D"."Rodzaj auta" = "S"."Rodzaj auta" AND
IF "S"."Obszar badany" != "" THEN "D"."Obszar badany" = "S"."Obszar badany" AND
IF "S"."Jednostka kierująca 1" != "" THEN "D"."Jednostka kierująca 1" = "S"."Jednostka kierująca 1" AND
IF "S"."Jednostka kierująca 2" != "" THEN "D"."Jednostka kierująca 2" = "S"."Jednostka kierująca 2" AND
END IF

1 Ответ

0 голосов
/ 03 августа 2010

Попробуйте:

 SELECT "D"."Imię", "D"."Nazwisko", "D"."Data badania", 
 "D"."Rodzaj auta", "D"."Obszar badany", 
 "D"."Jednostka kierująca 1", "D"."Jednostka kierująca 2" 
 FROM "Dane" AS "D", "Szukanie" AS "S" 
 WHERE "D"."Data badania" BETWEEN "S"."Data_od" AND "S"."Data_do" 
 AND ("S"."Imię" = "" OR "D"."Imię" = "S"."Imię" )
 AND ("S"."Nazwisko" =  "" OR "D"."Nazwisko" = "S"."Nazwisko")
 AND ("S"."Rodzaj auta" = "" OR "D"."Rodzaj auta" = "S"."Rodzaj auta" 
 AND ("S"."Obszar badany" = "" OR "D"."Obszar badany" = "S"."Obszar badany")
 AND ("S"."Jednostka kierująca 1" = "" OR "D"."Jednostka kierująca 1" = "S"."Jednostka kierująca 1")
 AND ("S"."Jednostka kierująca 2" = "" OR "D"."Jednostka kierująca 2" = "S"."Jednostka kierująca 2")
...