mysql什么时候需要中间表,查询的时候如何使用中间表,最好有个例子,谢谢(*°∀°)=3

mysql什么时候需要中间表,查询的时候如何使用中间表,最好有个例子,谢谢(*°∀°)=3,第1张

你说的中间表是不是临时表

例:如何实现随机更新表里的几条数据。

思路1:先随机查询几条记录

思路2:更新这几条记录。

但是你如果直接写 Update table1 SET ....... where ID in (select ID from table1 ORDER BY RAND() limit 1)

这种情况就会报错。不能再查询时同时对该表进行修改。这个时候就需要将查询语句查出来的表放到临时表。

update table1 Set ...... where ID in(SELECT F.ID FROM (SELECT * FROM table1 ORDER BY RAND() LIMIT 2) F)

车的表有个cid字段....,人的表有个uid字段....,中间表有uid和cid字段,同个uid有多个cid。

人表

uid | name

1|A

2|B

3|C

车表

cid | name

1 | a

2 | b

3 | c

4 | d

5 | e

中间表

id | uid | cid

1| 1|1 //a车属于A

2| 1|2 //b车属于A

3| 2|4 //d车属于B

4| 3|3 //c车属于C

5| 3|5 //e车属于C

select a.*,c.*,t.status,t.cou from a left join b on a.id=b.aid left join c on b.cid=c.id left join

(select a.id,d.status,count(*) cou from a left join d ona.id=d.id group by a.id,d.status) t

on a.id=t.id


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7613300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存