第一个表的返回结果做条件在另一张表中查询怎么写 有两个表,table a(id) table b(id,name) 从a中取出数据,一般就是几个(10个以下),然后根据返回的id去table b中找name 菜鸟求助 table a中查到的的几个int型的数据怎么存储 怎么传参数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select name from b where exists(select 1 from a where a.id = b.id) select name from bwhere b.id In(select id from a) select b.name from b join a on b.id = a.id select b.name from b ,a where b.id = a.id 嗯 谢谢各位 其实从a中取出的数据有好几个字段 而且这些列都是需要保存的 我只用拿出id 去匹配另一个表 就是嵌套查询吧.select name from b where id=(select from a where 条件....),大概是这样的相信你肯定有SQL数据库方面的教材,随便找一本SQL Server2000或2005方面的书,看一下例子就明白了,不能太懒惰 给你个例子:SQL> SELECT * 2 FROM EMP;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ---------- --------- ----- ----------- --------- --------- ------ 7369 SMITH CLERK 7902 1980-12-17 800.00 20 7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30 7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30 7566 JONES MANAGER 7839 1981-4-2 2975.00 20 7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30 7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30 7782 CLARK MANAGER 7839 1981-6-9 2450.00 10 7788 SCOTT ANALYST 7566 1987-4-19 3000.00 20 7839 KING PRESIDENT 1981-11-17 5000.00 10 7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30 7876 ADAMS CLERK 7788 1987-5-23 1100.00 20 7900 JAMES CLERK 7698 1981-12-3 950.00 30 7902 FORD ANALYST 7566 1981-12-3 3000.00 20 7934 MILLER CLERK 7782 1982-1-23 1300.00 1014 rows selectedSQL> SELECT * 2 FROM DEPT;DEPTNO DNAME LOC------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTONSQL> SELECT * 2 FROM DEPT B 3 WHERE EXISTS(SELECT 1 4 FROM EMP A 5 WHERE B.DEPTNO = A.DEPTNO 6 );DEPTNO DNAME LOC------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGOSQL> 可是我还要保存第一个查询的结果呢create table resultasselect * from a ;alter table a add column (****)把跟第一个表中对应id的值找出来 作为一列 也插入这个表中具体不知道杂写 select a.字段1,a.字段2....,a.字段n, b.字段1,b.字段2....,b.字段nfrom a left join bon a.id = b.id select name from b where exists(select 1 from a where a.id = b.id) 正解 select a.*,b.name from tab1 a,tab2 bwhere a.id=b.id select b.name from b ,a where b.id = a.id Oracle中的Dblink和同义词有什么区别吗? oracle有关字符分割的查询,2011-09-09 16:55:00在线等。。。 oracle不用索引? 为什么每次(访问或PING)ORACLE服务器要重启机器? 什么是oracle odt?? 求一oraclesql子查询的问题 CONN /AS SYSDBA 怎样获取存储过程的名称和它的输入输出参数。谁能给出查询语句。 用IMP导入DMP文件,到导入某一个表时不再有响应,CPU消耗70%以上,内存消耗50%以上,是什么原因? oracle系统表问题,急! 谁能帮我写个SQL语句?? oracle的session问题
where b.id In(select id from a)
select name from b where id=(select from a where 条件....),大概是这样的
相信你肯定有SQL数据库方面的教材,随便找一本SQL Server2000或2005方面的书,看一下例子就明白了,不能太懒惰
2 FROM EMP;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980-12-17 800.00 20
7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
7566 JONES MANAGER 7839 1981-4-2 2975.00 20
7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30
7782 CLARK MANAGER 7839 1981-6-9 2450.00 10
7788 SCOTT ANALYST 7566 1987-4-19 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
7876 ADAMS CLERK 7788 1987-5-23 1100.00 20
7900 JAMES CLERK 7698 1981-12-3 950.00 30
7902 FORD ANALYST 7566 1981-12-3 3000.00 20
7934 MILLER CLERK 7782 1982-1-23 1300.00 1014 rows selectedSQL> SELECT *
2 FROM DEPT;DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTONSQL> SELECT *
2 FROM DEPT B
3 WHERE EXISTS(SELECT 1
4 FROM EMP A
5 WHERE B.DEPTNO = A.DEPTNO
6 );DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGOSQL>
as
select * from a ;alter table a add column (****)把跟第一个表中对应id的值找出来 作为一列 也插入这个表中具体不知道杂写
b.字段1,b.字段2....,b.字段n
from a left join b
on a.id = b.id
正解
select a.*,b.name from tab1 a,tab2 b
where a.id=b.id