DBMS Foxpro 2.6 for DOS。 假设它有一个由两个表FILM和COPY_MOV组成的电影库数据库。 表格FILM以下列的Soto id_film,title,director,year 表COPY_MOV以下列的Soto: id_cpy,id_film,type_media,format
两个表都在字段上编入索引:id_film,id_copy。
我们需要查找所有未发布的电影。我写了以下查询SQL:
select * from FILM where ID_FILM not in (select ID_FILM from COPY_MOV)
可以实现相同的,只有操作员SEEK foxpro?
答案 0 :(得分:1)
如果要在Where过滤器中使用Seek()函数:
CREATE CURSOR film (id_film I)
INSERT INTO film VALUES (1)
INSERT INTO film VALUES (2)
INSERT INTO film VALUES (3)
INSERT INTO film VALUES (4)
INSERT INTO film VALUES (5)
CREATE CURSOR copy_mov (id_film I)
INDEX on id_film TAG id_film
INSERT INTO copy_mov VALUES (2)
INSERT INTO copy_mov VALUES (5)
SELECT * FROM film WHERE NOT SEEK(id_film, "copy_mov")
如果您想完全避免使用SQL Select
:
CREATE CURSOR result (id_film I)
SELECT film
SCAN FOR NOT SEEK(id_film, "copy_mov")
INSERT INTO result VALUES (film.id_film)
ENDSCAN
SELECT result
BROWSE
或许您只想Browse For
SELECT film
BROWSE FOR NOT SEEK(id_film, "copy_mov")