数据库管理系统Foxpro2.6 for DOS。假设它有一个电影资料库数据库,由两个表film和COPY_MOV组成。表电影Soto以下列id_film,标题,导演,年份表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)有没有可能实现相同的,只有运营商寻求foxpro?
发布于 2015-04-26 07:45:18
如果要在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")https://stackoverflow.com/questions/29865030
复制相似问题