OO Base中的SQL查询,其中where和if

时间:2010-08-03 08:09:10

标签: sql base

我对sql完全不了解,但我必须在OO Base中进行sql查询。当表中的单元格为空时,查询必须避免比较。 我希望有人会帮助我。

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 :(得分:0)

尝试:

 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")