Код: Выделить всё
CREATE VIEW VIEW_MOVEMENT_OTK2(
ID,
CAPACITY,
OWNER_NAME,
ID_FROM,
ID_PLACE,
ID_CARGO,
MASSA,
ID_CAR,
CAR_NAME,
T_IN,
STATION_NAME,
CARGO_NAME,
NUM_NAKLAD,
SHIPPER_NAME,
ID_CERT,
T_OUT,
VES_BRUS_INT,
NOTE,
VES_MAS,
VES_OUT,
T_START_WORK,
ID_CARGO_OTK,
ID_OTK_MOV,
OUT_FROM_OTK,
OTK_IN,
ID_TO_FROM_OTK,
CARGO_NAME_OTK,
POINT_FROM_OTK,
TRASH,
WATER,
ID_MAIN,
NUM_TEST,
NAMEREV)
AS
SELECT
TBL_MOV.ID,
VIEW_CAR.CAPACITY,
VIEW_CAR.OWNER_NAME,
TBL_MOV.ID_FROM,
TBL_MOV.ID_PLACE,
TBL_MOV.ID_CARGO,
TBL_MOV.MASSA,
TBL_MOV.ID_CAR,
VIEW_CAR.CAR_NAME,
TBL_MOV.T_IN,
TBL_STATIONS.NAME STATION_NAME,
TBL_CARGO.CARGO_NAME,
TBL_MAIN.NUM_NAKLAD,
TBL_SHIPPER.NAME ,
TBL_MAIN.ID_CERT,
TBL_MOV.T_OUT,
TBL_MAIN.VES_BRUS_INT,
NOTE,
( SELECT TMOV_MAS.MASSA FROM TBL_MOVEMENT TMOV_MAS WHERE ( TMOV_MAS.ID_ROOT = TBL_MOV.ID AND TMOV_MAS.ID_PLACE=11 ) ),
( SELECT TMOV_MAS.T_OUT FROM TBL_MOVEMENT TMOV_MAS WHERE ( TMOV_MAS.ID_ROOT = TBL_MOV.ID AND TMOV_MAS.ID_PLACE=11 ) ),
( SELECT TMOV.T_START_WORK FROM TBL_MOVEMENT TMOV WHERE ( TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12 ) ),
( SELECT TMOV.ID_CARGO FROM TBL_MOVEMENT TMOV WHERE ( TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12 ) ),
( SELECT TMOV.ID FROM TBL_MOVEMENT TMOV WHERE ( TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12 ) ),
( SELECT CAST( TMOV.T_OUT AS TIMESTAMP) FROM TBL_MOVEMENT TMOV WHERE ( TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12 ) ),
( SELECT TMOV.T_IN FROM TBL_MOVEMENT TMOV WHERE ( TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12 ) ),
( SELECT TMOV.ID_TO FROM TBL_MOVEMENT TMOV WHERE ( TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12 ) ),
( SELECT TBC.CARGO_NAME FROM TBL_CARGO TBC INNER JOIN TBL_MOVEMENT TMOV ON (TMOV.ID_CARGO=TBC.ID) WHERE TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12),
( SELECT TBS.NAME FROM TBL_STATIONS TBS INNER JOIN TBL_MOVEMENT TMOV ON (TMOV.ID_TO=TBS.ID) WHERE TMOV.ID_ROOT = TBL_MOV.ID AND TMOV.ID_PLACE=12),
TBL_MAIN.TRASH,
TBL_MAIN.WATER,
TBL_MAIN.ID,
TBL_MAIN.NUM_TEST,
VIEW_CAR.NAMEREV
FROM TBL_SHIPPER
INNER JOIN TBL_MAIN ON (TBL_SHIPPER.ID = TBL_MAIN.ID_SHIPPER_IN)
INNER JOIN TBL_MOVEMENT TBL_MOV ON (TBL_MAIN.ID_MOVEMENT = TBL_MOV.ID)
INNER JOIN VIEW_CAR ON (TBL_MOV.ID_CAR = VIEW_CAR.ID)
INNER JOIN TBL_STATIONS ON (TBL_MOV.ID_FROM = TBL_STATIONS.ID)
INNER JOIN TBL_CARGO ON (TBL_MOV.ID_CARGO = TBL_CARGO.ID)
INNER JOIN TBL_OPERATION ON (TBL_MAIN.ID_IN_OPERATION = TBL_OPERATION.ID)
WHERE
TBL_MOV.ID_ROOT = 0
AND
TBL_MOV.ID_CARGO!=0
;
Затем обращаюсь к этому просмотру запросом:
Код: Выделить всё
SELECT * FROM VIEW_MOVEMENT_OTK2 WHERE OUT_FROM_OTK BETWEEN :dStart AND :dEnd
Код: Выделить всё
Unsupported field type specified in BETWEEN predicate.
Примечание: в поле, котором ищу есть нулевые записи.
Версия сервера 1.5.4.