一个表中的字段值用作另一个表的In查询条件

Question表与Paper表

Paper表中字段QuestionIds存储的是Question表中字段Id的拼接后的值

如: ‘f855eba1-b308-4bd7-a250-c071a0e1bdf0‘,‘c0570880-931b-4b34-ba34-58937f940c21‘,‘96249256-ddd7-4b28-a066-ebe1c337cf6c‘,‘c0b6171a-1b50-4881-a5f5-9928ce1bf593‘,‘b71ad813-abad-40f2-bf97-a1ae998acbc8‘,‘b7eec3b6-70d0-41c3-8fc0-c8aba71148f2‘,‘be2eedb6-d56c-40e8-b21c-1a7b903192c4‘,‘16c8697a-17c3-4e27-84c7-7416eea8ac21‘,‘6bdfbed9-1960-47dc-9fb5-2ea56005dcda‘,‘fdb0a4ab-5a8d-4601-a962-fa32b1a1e78c‘

QuestionIds作为Question表的In查询条件:先声明一个变量用来存储查询出来的QuestionIds,然后用函数exec执行查询

declare @idlist varchar(2000)
select @idlist = QuestionIds from Paper where Id=‘3714426E-0D7C-45C9-A3BC-60D3F1D6EFCD‘
exec(‘select * from Question where Id in(‘ + @idlist + ‘)‘)

  

时间: 2024-08-09 06:35:04

一个表中的字段值用作另一个表的In查询条件的相关文章

数据库修改一个表中的字段值等于另一个表字段值

(MS SQL Server)语句:Sql代码 update   b  set   ClientName   =   a.name   from   a,b   where   a.id   =   b.id    (Oralce)语句:Sql代码 update   b  set   (ClientName)   =  (SELECT name FROM a WHERE b.id = a.id) 原文地址:https://www.cnblogs.com/hujiapeng/p/8311710.h

在ORACLE中如何将一个表中某字段值合计与另一个表的某字段值相减

现在有两个表,A表字段AMOUNT为发票金额,B表字段REV为收款金额,两表通过字段id关联,需将A表的字段AMOUNT与B表的字段REV相减, 但是A表表示的发票可能对应多个B表的收款金额,如何将A表的AMOUNT与对应的B表的多个REV值的和相减,得到未收款金额 select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result from a, (select b.id,sum(b.REV) REV from b group by b.id) b where

mysql取出表中,某字段值最大的一条纪录,sql语句

一个为交易表,有唯一id,别名trade_id 一个为交易状态详情表,记录trade_id的多个状态. 进行了两个表查询.查询某个trade_id的交易情况及最新状态. 直接粘贴此sql,执行即知. -- ------------------------------ Table structure for `trade_test`-- ----------------------------DROP TABLE IF EXISTS `trade_test`;CREATE TABLE `trade

如何使用MySQL一个表中的字段更新另一个表中字段

这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下 1,修改1列 ? 1 2 3 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 ? 1 2 3 update a, b set a.title=b.title, a.name=b.name where a.id=b.id ?子查询 ? 1 update student s set ci

mysql替换表中某字段的某值

UPDATE cases SET case_desc = replace(case_desc, 'src="//tuku-assets.m.jia.com/assets/img/m-integrate/loading_rec2_fb03b99cb0d6521754460047a72d01a7.jpg"', '') 修改 cases表中case_desc字段的src="//tuku-assets.m.jia.com/assets/img/m-integrate/loading_

PowerDesigner里面将表中name列值复制到comment列

/** * PowerDesigner里面将表中name列值复制到comment列 * @see -------------------------------------------------------------------------------------------------------------------- * @see pd中的pdm默认生成sql时,字段是没有注释的..想要注释的话,有2个方法 * @see 1.也是推荐的 * @see pdm中双击打开一个Table,

逆向删除属性表中的字段

删除属性表中的字段一定要注意循环的方式.如果是for循环,i< FeatureClass.Fields.FieldCount话,每删除一个字段FieldCount属性返回的字段数量将减少一个,也就是你根本不能完全删除想要删除的字段:如果你先把FeatureClass.Fields.FieldCount赋给一个变量count,for循环中使用i<count,最后导致索引越界:所以,建议使用逆向的方法删除字段. IFeatureClass pointFS = GPClass.gpUtilities

如何一条sql语句查找表中第二大值

例1: 一个Customer表,一个字段Value,现请问如何查到Value中第二大的值 select max(value) from Customer where value < (select max(value) from Customer) 例2: 数据库中人表有三个属性,用户(编号,姓名,身高),查询出该身高排名第二的高度. 1.查询出没有重复值的第二名,即假如最高的身高是182,有几个人同时身高是182,则查出身高小于182的的最高的身高值. 1>.方式1: select MAX(

mysql向表中某字段后追加一段字符串:

mysql向表中某字段后追加一段字符串:update table_name set field=CONCAT(field,'',str) mysql 向表中某字段前加字符串update table_name set field=CONCAT('str',field) MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果