首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

关于子查询

大家都知道PHP中是不能用子查询的

但我现在有个想法就是:
有一个人力资源管理系统,它的查询条件非常的挑剔和不定的
所以我有必要一个一个条件来查询筛选出符合要求的记录,
那么在SQL SERVER中就可以用子查询来做先生成一个结果集
再在这个结果集上筛选,,
在PHP要实现这样的功能应该怎么做??
昵称: Mickey  时间: 2003-07-05 19:40:00
waiting on line
昵称: Mickey  时间: 2003-07-05 19:44:00
这个不是php的问题,你去mysql.com下载mysql 410版,支持子查询,当然是个alpha版的,good luck

如果用老版本呢,用一些临时表就可以,当然有些查询可以通过复杂的语句完成,具体参看mysql reference manual
昵称: Belltree  时间: 2003-07-05 19:46:00


QUOTE:
最初由 Belltree 发布
[B]这个不是php的问题,你去mysql.com下载mysql 410版,支持子查询,当然是个alpha版的,good luck

如果用老版本呢,用一些临时表就可以,当然有些查询可以通过复杂的语句完成,具体参看mysql reference manual [/B]
thanks
那些临时表是怎么用的?
举个例子来看看
昵称: Mickey  时间: 2003-07-05 19:49:00
阿BELLTREE哥,帮个忙啊
昵称: Mickey  时间: 2003-07-05 19:52:00
waiting on line
昵称: Mickey  时间: 2003-07-05 19:58:00
You can often rewrite the query without a subquery:

SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);

This can be rewritten as:

SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;

The queries:

SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
SELECT * FROM table1 WHERE NOT EXISTS (SELECT id FROM table2
                                       WHERE table1.id=table2.id);

Can be rewritten as:

SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id
                                       WHERE table2.id IS NULL;
昵称: Belltree  时间: 2003-07-05 20:03:00
谢谢,解决了
昵称: alangcry  时间: 2003-09-08 11:13:00