select * from table where exists(select * from table);
在sql2中的where后面加(sql1的语句),就是子查询
以上都没有掌握SQL SERVER 2005 的新特性WITH PCV(P, C) AS ( SELECT P.ID, P.ParentID FROM P_C AS P WHERE P.ParentID = 5 UNION ALL SELECT C.ID, C.ParentID FROM P_C AS C INNER JOIN PCV ON C.ParentID = PCV.P ) SELECT * FROM PCV
你一个SQL语句就行了 其实你是想实现两个表的连接查询是吧? 给你一个例子: A B 两表 1 A2 B2 4 各两列1,2和2,4比如你要通过先查A里的2的值查B里的4的值你就这样写:select (select b.4 from B where B2=a.A2) as A2 from A a,B b
sql2要查询sql1的结果 简单 把他们写成一条语句就可以了string sql1 = "select * from test where 加条件";string sql2 = "select * from ("+sql1+") as T";
那SQL1 select出来的数据做为一个表就好了。。select * from (select * from 表) a
(
SELECT P.ID, P.ParentID
FROM P_C AS P WHERE P.ParentID = 5
UNION ALL
SELECT C.ID, C.ParentID
FROM P_C AS C INNER JOIN PCV ON C.ParentID = PCV.P
)
SELECT * FROM PCV
stirng sql2=...
怎么样在sql2中查询sql1中的结果...?
---------------------------------
查询结果?不时很理解,如果只是想知道sql1的结果,可以读出来后进行试图过滤,或者直接通过嵌套查询
2.查视图。
3.第一句查出来,再到内存里查
。
其实你是想实现两个表的连接查询是吧?
给你一个例子:
A B 两表
1 A2 B2 4 各两列1,2和2,4比如你要通过先查A里的2的值查B里的4的值你就这样写:select (select b.4 from B where B2=a.A2) as A2 from A a,B b
@tempTable
将sql1的返回结果insert到tempTable中
然后再用sql2在tempTable中选取你需要的结果!当然前面说的更简单直接!