这种
数据有意义吗?这种要从应用程序出发,写一个完整的数据处理过程,把数据取到内存,然后分析内存存储的数据,再返回。还有你数据采集方法就有问题,在做数据的
时候怎么允许这么多的连接,我们在 *** 作数据的时候就做到表与表之间的关系紧密相连,把数据连接变换为数据更新。比如我像数据库插入A表ID、配置与
单号、数量,那么与此同时我在另一个关联的表里面就更新了单号和数量。 *** 作过程用存储过程实现。这种 *** 作就为数据库逻辑性建立了基础,为后来的数据使用节约了查询时机。又比如说我们做ERP软件,在我们做一个表单提交动作的时候,我就已经插入了新的单据记录、更新了日志、更新了库存或者其他的状态、更新了BOM。最后我去查询某个表的时候实际上我们就是单纯的查询一个表,这样我们就为客户节约了查询时机。我不知道你同意我的做法不,反正这种查询你没做错,但是确切一点你的数据关系和整个数据库耦合性太差,造成你查询慢,而且我也看得明白你是要一个表一个表的去汇总,然后连接查询,汇总的时候就启用了group by机制,在做大量的排列进出栈工作。满外连接的结果 = 左右表匹配的数据 + 左表没有匹配到的数据 + 右表没有匹配到的数据。
SQL99是支持满外连接的。使用FULL JOIN 或 FULL OUTER JOIN来实现。
需要注意的是,MySQL不支持FULL JOIN,但是可以用 LEFT JOIN UNION RIGHT join代替。
error:1054 ???应该会明确告诉你那个字段什么的不存在吧,你检查一下?
为什么要用子查询呢,写一层sql查询就可以了啊。
select d.*,ds.stages_id, ds.mosters_id, dsm.monsters_id, dsm.moster_id, dsm.pos
from dungeon_info as d LEFT JOIN dungeon_stage_info as ds on d.dungeon_id = ds.dungeon_id
LEFT JOIN
dungeon_stage_moster_info as dsm on ds.monsters_id = dsm.monsters_id
评论列表(0条)