sql两表条件对比,取b表里的多值任意一个

效果是a表里多个张三,可以拿到b表里符合张三不同的奖品,假如a表里有十个张三,这十个张三可能拿到奖品1或者2或者3,不要全部张三都去拿奖品1.十分感谢你的回复!
update a set a.b2=b.b2 from a,b where a.a1=b.b此公式只能拿第一个,其他奖品没人能拿到,sql如何表达呢!

select * ,rownum()over(name patition by name desc) as row
from (select distinct name from a ) t1
left join b t2
on t1.name = t2.name
where row =1
大概是这个意思 语法可以有些不太正确,理解一下意思就好啊追问

运行不了

追答

数据库不一样语法不一样,就是这个意思。。。sql你自己调一下

温馨提示:内容为网友见解,仅供参考
无其他回答

sql A,B两表连接,B表中重复记录只取一条
那就用显示B表排除他的重复项,再去用A表去匹配他,左连接得出匹配的项 Select * From (Select Distinct B.* From B) as 查询1 Left Join A on 查询1.id=A.id where(B.id IS NOT NULL);要先把B表重复项整理掉,再去匹配,还要把NULL项去掉 ...

sql怎么从一个表中取另一个表的数据并替换所指定的数据
update ecs_category as a,ecs_category as b set a.cat_desc=REPLACE(a.cat_desc,'**',b.goods_name) where a.goods_id= b.goods_id -- 可以类似这样的语句去更改,找出共同的key,这边假设为goods_id字段。

如何查询一个表中A字段中B字段有多个值的数据
那就只能是2个sql 对应多个B值的A值: select a from t group by a having count(b)>1 \/\/一定是count(b),不能是count(1)对应多个A值的B值: select b from t group by b having count(a)>1 \/\/一定是count(a)

用SQL语句进行两表比对,A表含了一部分B表的名字(某字段的部分内容相同...
既然是部分内容,总要有个规律的,没有规律你写什么

...出单行多列 表中a b两个字段,a的值在b中可能有1个或多个对应的值...
(select top 1 t2.b from table2 as t2 where t2.b = t1.a and 额外条件1) as 对应于额外条件的列名1,(select top 1 t2.b from table2 as t2 where t2.b = t1.a and 额外条件2) as 对应于额外条件的列名2,(select top 1 t2.b from table2 as t2 where t2.b = t1.a ...

sql如何删除某两张表中不相同的的数据,以某一字段为比较
这样,比如:少数据的表为:A 多数据的表为:B 你需要的字段:C select C from A,说明这个是A表里面的C字段 然后B中,你不要超出C的,那么你可以这样 select * from B where C in (select C from A)

sqlserver 两表查询1对多,随机取一条数据 求sql语句
你两个表的 [track artist] 各弄出一点贴出来看看 主要是看看 要用 like 还是要用 = 号 或者是有什么明显的特征 如果是有相同的 那么就简单了 UPDATE daoru SET isrc = (SELECT TOP 1 isrc from jibiao where [artist] = daoru.[artist])你要更新多歌字段 就参考这个去修改一下 ...

SQL关联两个数据表后,怎么取其中一个数表的数据呢
select a.id as a_id,b.id as b_id from a,b where a.id=b.id rs("a_id")取出来a.id rs("b_id")取出来b.id 关联后a.id和b.id的值一样,取那个表都一样,没什么区别。

sql 从两个表中的取数据,两个表中的数据都要提取。
1、打开数据库管理工具,在数据库中新建两个表用于测试,这里,两个表的表结构要一样,分别建立TEST 和 TEST1 目标就是从TEST自动写更新的数据到TEST1中。2、开启新的SQL查询窗口,创建一个存储过程。意思是将insert到TEST中的数据插入到TEST1中。3、单击‘执行’,一个名字为‘T’的触发就新建完成了...

如何SQL查询两个表中符合条件的数据?这两个表的构成字段是完全一样的...
select * from b where diploma='本科' union all select * from c where diploma='本科'

相似回答