sql 根据查询结果进行二次查询

通过搜索‘合同号’(合同号是变量)得出的‘合同GUID’
在搜索‘主合同GUID’= ‘合同GUID’的对应数据
请高手解答

第1个回答  推荐于2017-09-04
Select B.*
from 【你的表】 A, 【你的表】 B
Where A.[合同号] = 'a' and B.[住合同GUID] = A.[合同GUID]

直接这样查询就行,得出的结果就是你要的数据追问

这是要查询数据的关联,先通过合同号搜索出合同(合同GUID),在搜索在“主合同GUID”中满足通过合同号搜索出合同GUID。

追答

这个按照我给你的模式套入进去就行了啊。
Select B.*
from cb_Contract a, cb_Contract B
Where a.ContractCode = 'ZT-....' and A.MasterContractGUID = B.MasterContractGUID

这里查询出的B的记录就是你要的了

本回答被提问者和网友采纳
第2个回答  2014-10-21
如果你一步实现不了的话,可以把你第一次的查询结果保存为视图啊,在视图上进行二次查询追问

可以帮我这个实例吗

追答

你可以把你第一步的语句让我看看,通过搜索‘合同号’(合同号是变量)得出的‘合同GUID’,不明白你说的什么意思

追问

比如我搜索合同号为a的合同,出来一条记录,这个记录就包含合同guid,用这个合同guid去搜索主合同guid中符合合同guid的记录

追答

比如我搜索合同号为a的合同,出来一条记录,这个记录就包含合同guid,照你所说,你设置了where 合同号=‘a’ 得到了如图所示的数据,在合同号等于A的记录中找‘主合同GUID’= ‘合同GUID’的记录,不是直接再加一个条件就可以了吗?where 合同号=‘a’ and 主合同GUID= 合同GUID

追问

查询结果为空,可能你理解错了,符合主合同GUID的数据记录不与合同GUID记录在同一条

SQL语句,怎么用查询的结果,进行再查询?
在结果集1中再查询

SQL如何在查询结果里再次查询?
做法:可以使用括号“(select查询子句)"套嵌一个查询结果。语法格式:select columnlist... from (select子句) table_name where 。注意:”)“ 后面需要给查询结果指定一个名称 table_name,名称不要与其他列名称相同,增加SQL语句的可读性。拓展:1、SQL语言,是结构化查询语言(Structured Query Lan...

sql 根据查询结果进行二次查询
Select B.from 【你的表】 A, 【你的表】 B Where A.[合同号] = 'a' and B.[住合同GUID] = A.[合同GUID]直接这样查询就行,得出的结果就是你要的数据

sql如何用查询结果做2次查询
select a,b from 表 where b='12345' group by a,b having count(a) > 1

SQL在查询结果中再次查询(Sqlite3)
选接近的值 可以利用order排序来选择。select *from sizeweight where abs(external_diameter-?)=( select min(abs(external_diameter-?)) as nearst_etd from sizeweight ) order by abs(thickness_mm-?) ASC limit 1试下这个

怎么样对结果集进行2次查询(SQL)
如果是sql server 的话,可以直接select * from (select 字段1,字段2 from 表 where 条件) where 条件

SQL 语句怎么重查询结果中再次查询对应的表
楼主,你好!从你的描述来看,可以分两步走:第一步,从表B查询name_id字段的值 第二步,根据第一步的结果,从表A查询name字段的值 第三步,通过SQL来实现,语句如下:select name from Awhere name_id in( select name_id from B where type < '002')以上希望能帮助到你 ...

SQL如何实现对同一字段两次查询结果(记录的行数相同)插入一张表格。_百...
f2)+cint(f3)=18) or id in(select top 1 id from his) union all select id from his where (cint(f1)+cint(f2)+cint(f3)=18) or id in(select top 1 id from his order by fseq desc)其实,加个union all 就可以实现2次查询结果在一个里面, 然后直接insert就可以了 ...

SQL根据查询的结果再查询
insert into tb select 2,1 insert into tb select 3,1 insert into tb select 4,2 insert into tb select 5,3 insert into tb select 6,5 insert into tb select 7,6 -->Title:查找指定节点下的子结点 if object_id('Uf_GetChildID')is not null drop function Uf_GetChildID go cre...

怎么利用sql数据库筛选出来的数据再次进行查询
您说的这个意思我的理解是使用临时表。例如 1.插入临时表 SELECT A,B,C INTO #TMP FROM TABLE1 2.使用临时表 SELECT * FROM #TMP 这时候临时表内的数据就是您筛选出来的数据,可视为正常数据表来使用。

相似回答
大家正在搜