精华内容
下载资源
问答
  • SQL数据表两个字段关联同一张数据表

    数据表temp结构

    -- Table "temp" DDL
    
    CREATE TABLE `temp` (
      `page_id` bigint(20) DEFAULT NULL,
      `section_id` bigint(20) DEFAULT NULL,
      `visit_category_id` bigint(20) DEFAULT NULL,
      `cart_category_id` bigint(20) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    数据表category结构

    -- Table "category" DDL
    
    CREATE TABLE `category` (
      `category_id` bigint(20) DEFAULT NULL,
      `category_name` varchar(128) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    业务需求

    关联temp表和category表,取出visit_category_id和cart_category_id对应的category_name

    解决方案

    select a.page_id,
    a.section_id,
    a.visit_category_id,
    b.category_name,
    a.cart_category_id,
    c.category_name 
    from temp a 
    left outer join category b on (a.visit_category_id=b.category_id) 
    left outer join category c on (a.cart_category_id=c.category_id);
    查询结果




    展开全文
  • 任务描述:user1中有id,name,code;...目的:对比user1和user2表数据并将user2中名称和user1相同的code写入到user1中; 实现sql: UPDATE user1 a,user b SET a.name=b.name WHERE a.code = b.code ...

    任务描述:表user1中有id,name,code;表user2中有id,name,code;

    目的:对比user1和user2两张表数据并将user2中名称和user1相同的code写入到user1中;

    实现sql:

    UPDATE user1 a,user b SET a.name=b.name WHERE a.code = b.code

     

    展开全文
  • SQL 两表关联 查询出A中有但是B没有数据   |字号 订阅 方法1 select * from a where id + name not in (select id + name from b) 方法2 select a.* from a left join b on (a.id=b....

    SQL 两表关联 查询出A表中有但是B表中没有的数据  

      |字号 订阅

    方法1
    select * from a where id + name not in (select id + name from b)
    
    方法2
    select a.* from a left join b on (a.id=b.id and a.name=b.name) where isnull(b.age)
    展开全文
  • Mybatis 多对多关联表关联 如何插入关联表数据

    万次阅读 多人点赞 2017-03-20 17:00:23
    很多时候我们会碰到这样一个需求,当前我有(用户)和(角色),他们之间是多对多的关系,所以我们通常会创建一个关联表(用户_角色),现在我们有固定的角色,只需要添加用户即可,给用户指定角色,那我们...

    很多时候我们会碰到这样一个需求,当前我有(用户)表和(角色)表,他们之间是多对多的关系,所以我们通常会创建一个关联表(用户_角色)表,现在我们有固定的角色,只需要添加用户即可,给用户指定角色,那我们怎么做呢,废话不多说了,下面给出思路:

            表 :user   /   role   /   user_role 

    对应JavaBean如下:

    用户表:

    public class User implements Serializable {
    
    	// Fields
    
    	private Integer id;
    	private String login;
    	private String name;
    	private String pass;
    	private String phone;
    	private String email;
    	private Integer isadmin;
    
           // get...set...
    }

    角色表:

    public class Role implements Serializable {
    
    	// Fields
    
    	private Integer roleId;
    	private String roleName;
    	private Date createdTime;
    	private Date updateTime;
    
    	//get...set...
    }

    用户_角色关联表(当然,它不创建也可以):

    public class UserRole implements Serializable {
    
    	// Fields
    
    	private Integer id;
    	private Integer userId;
    	private Integer roleId;
    
    	//get...set...
    }

    //**以下所有操作中,所有JavaBean使用别名(typeAlias)方式,不会的话自行百度

    需求,添加用户并为当前用户指定多个角色,主要Sql:

    1: 首先插入用户(实现插入用户并且返回插入用户的主键):

    <insert id="save" parameterType="User" useGeneratedKeys="true"
    		keyProperty="id">
    		insert into user(login,name,pass,phone,email,isadmin)
    		values(#{login},#{name},#{pass},#{phone},#{email},${isadmin})
    </insert>
    //useGeneratedKeys="true"  设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的主键字段中

    //keyProperty="id"  指定JavaBean的主键字段


    2:为用户匹配角色:

    方式一(适用于除了插入被关联表的ID,还要插入被关联表中的其他信息,例如:角色类型( 当前设计中此字段不存在,仅仅用于举例子)):

    <insert id="saveUserOrRole" parameterType="map">
    		insert into user_role(
    		user_id,role_id,role_type
    		)
    		select u.id,r.role_id,r.role_type from user u,role r where
    		u.id = ${userId} and
    		r.role_id in
    		<foreach collection="roleIds" item="rId" open="(" separator=","
    			close=")">
    			#{rId}
    		</foreach>
    </insert>


    方式二(适用于只需要插入被关联表的ID)

    insert into user_role(
    		user_id,role_id
    		) values
    		<foreach collection="roleIds" item="rId" separator=",">
    			(${userId},#{rId})
    		</foreach>

    //注意在执行完第一条插入用户sql后,在外部访问对象User的主键是已经存在的,类似hibernate持久化后对象已经拥有ID信息



    这里把测试代码给出(Junit4):

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath*:spring-*.xml")
    public class TestSSM {
    	@Resource
    	protected UserMapper userMapper;
    	
    	
    	@Test
    	public void testInsert() {
    		User user = new User();
    		user.setEmail("yhq1913@sina.com");
    		user.setLogin("ytzl");
    		user.setName("云图智联");
    		//密码加密
    		user.setPass(DigestUtil.hmacSign("ytzl", "yuntuzhilian"));
    		user.setPhone("15910721339");
    		user.setIsadmin(1);
    		userMapper.save(user);
    		Map<String, Object> saveParams = new HashMap<>();
    		saveParams.put("userId", user.getId());
    		//这里指定两个角色的ID进行测试
    		saveParams.put("roleIds", Arrays.asList("1", "2"));
    		userMapper.saveUserOrRole(saveParams);
    	}
    }


    //测试结果:数据成功插入。

    展开全文
  • Mysql同时向关联表插入数据

    万次阅读 2019-06-10 10:02:23
    举个栗子,有,user的主键id是travel_user的一个字段,要求向user添加数据时,同时向travel_user添加一条数据的具体结构如下: 上表的id就是下的uid 请看service层的代码具体实现: ...
  • 查询关联到的数据的和

    千次阅读 2018-09-25 15:30:49
    需要查询出A和B有 id 关联...思路,使用group by 和 count 查询出这些关联数据的份数. 然后作为一个中间,再与A进行 left join. select a.*, v.sealSum from A a LEFT JOIN ( select aa.id aaId,count(b.id)...
  • 使用SQL 模糊查询两表关联字段数据

    千次阅读 2020-01-09 16:45:50
    使用SQL 模糊查询两表关联字段数据,主要难点就是 无法直接使用like来进行数据处理, 这里使用concat来 和join on 来拼凑 模糊查询的样式 select x.medianame from tb_totle x join tb_new y on x.medianame ...
  • 今天写项目遇到一个问题,就是有A,B,还有一张A-B关系的关系是通过A-B关系一一对应的,现在我有个需求就是,我现在从A出发,条件查询出来A中跟B表关联数据, 直接SQL语句 SELECT ...
  • mysql咋同时添加中的数据并且表关联 有一张要循环 添加![图片说明](https://img-ask.csdn.net/upload/201707/02/1498963512_692396.png)
  • 关联表插入数据

    万次阅读 2018-03-15 17:18:09
    a含有外键字段且正好是b的主键(自增字段),先插入b的相关数据,再插入a的相关数据,并且取得b主键数据插入a中即可成功。
  • 例如有goods和prices,商品中的一条商品信息会对应价格中的多条价格信息,现在要根据商品查询其商品对应的可用最新的价格,即要满足价格的生效日期必须在商品上市之前,如果有多个价格,就选取最后生效...
  • Oracle关联表数据,把一个的某一列数据复制到另一个表上
  • MySQL关联表查询数据

    千次阅读 2019-04-02 21:47:53
    MySQL关联表查询数据 t1如下: t2如下: (inner) join只有左右数据匹配才会返回。 SELECT * FROM t1 INNER JOIN t2 ON t1.cid=t2.id 结果如下: left join返回联接左边的所有行,即使在右边中...
  • 表关联修改数据

    千次阅读 2016-05-26 16:07:00
    表关联修改数据时,如果被修改字段是由某个中原来数据运算后数据,那么表关联的字段,必须有个是唯一的。 如果表关联的字段都不唯一,会导致数据混乱。 比如三张表,order orderitem ...
  • EF多表关联数据更新

    万次阅读 2016-12-08 13:43:45
    本篇主要讲述多表关联数据的更新,以及如何使用原生SQL。 文章提纲 多表关联数据更新 如何使用原生SQL 总结 多表关联数据更新 我们在第四篇文章已经讲过数据的更新了,不过那个是针对单结构...
  • 业务场景为统计项目和用户表关联查询,项目id为用户的关联字段,一个项目下有多个项目,目标是查出来项目id,产品编号(项目里的字段)和某个项目id下的用户总数,过滤调剂是过滤掉过期的数据和被禁用及被删除的...
  • oracle多表关联删除数据表记录方法

    千次阅读 2013-06-28 16:31:42
    oracle多表关联删除的种方法 第一种使用exists方法 delete from tableA where exits ( select 1 from tableB Where tableA.id = tableB.id ) 第二种使用匿名方式进行删除delete from ( select 1 from table...
  • 关联两A和B ,当B中无A中主键对应的信息时,使B中的字段值为一个默认的数: A: name age B: name node 结果: 小明 20 小明 10001 name age ...
  • 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2,修改T1,修改条件为两表的fname列内容一致。 方式1,update 常见陷阱: UPDATE T1 SET T1.FMONEY = (select T2.FMONEY ...
  • 今天遇到一个问题,就是a,b ,本无外键关联关系,但是a的某个字段,和b的某个字段有数值关联关系。 举个栗子: table_a taID minMoney maxMoney 1 10 100 2 100 1000 table_b tbID ...
  • 关联表如何更新其中一个数据? 今天遇到一个客户的数据更新问题,个相关联,一个主用于保存单据主要信息,一个副用于保存单据的明细信息;现在要把主的其中一个字段的数据更新到副的一个...
  • mysql 两表关联更新

    万次阅读 2018-08-10 21:51:20
    在进行join关联查询时,此时我想把p中的user_name赋值给a中的user_name,直接执行SQL如下: UPDATE mz_insurance.mz_insurance_user p LEFT JOIN insurance.ins_user a ON p.union_id = a.union_id SET...
  • UPDATE A,B SET A.typeid=B.id where A.typename=B.typenam     与其他数据库不一样的地方!
  • a 有aid和name b 有bid bid数据为aid值 怎么根据name删除b表数据
  • 现在A与B关联 但是只能让B中符合条件的最近一记录关联上 (也是updateTime在logTime之前并且最近的一条) 我是这么做的 SELECT A.id,B.userId,B.departmentId FROM A INNER JOIN B ON A.userId=B.userId AND A....
  • 老大给了我一个需求,有,一张表示预警结果cims_warn_result,另一张是企业监控cims_warn_monitor,我要做一个列表展示预警结果的信息, 但是如果cims_warn_result的企业在cims_warn_monitor中存在...
  • 比如我现在有user, user_out,字段如下 user: user_out: 他们之间的关联字段是 user 的 out_id 和 user_out 的 id 然后我造了写假数据 然后执行以下sql: UPDATE user AS u, user_out AS uo SET...
  • select a.dfsname, count(b.dfsid) as instnum from tbl_dfslist a left join tbl_instance b on a.id = b.dfsid group by a.id; (其中tbl_dfslist.id = tbl_instance.dfsid)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,328,450
精华内容 531,380
关键字:

两表关联去没有关联上的数据