首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >棘手的数据库查询

棘手的数据库查询
EN

Stack Overflow用户
提问于 2015-04-25 20:16:14
回答 1查看 131关注 0票数 0

数据库管理系统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:

代码语言:javascript
复制
select * from FILM where ID_FILM not in (select ID_FILM from COPY_MOV)

有没有可能实现相同的,只有运营商寻求foxpro?

EN

回答 1

Stack Overflow用户

发布于 2015-04-26 07:45:18

如果要在Where过滤器中使用Seek()函数:

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
SELECT film
BROWSE FOR NOT SEEK(id_film, "copy_mov")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29865030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档