cxue 发表于 2013-3-19 14:44:09

问题可能很菜.请莫怪.关于多表查询.

我有一些历史上积累下来的xls文件 每个表的结构基本都差不多。导入什么基本都没有问题。
按照日期为基础 命名表。每周一个 表结构都一样。表内的关键字也相对固定。员工编号。

用什么简洁的语句。可以从一个库中,很多表里 找到某一员工编号的 业绩字段内容。显示或者输出。

单个表的查询我会。但是就是不清楚。同时查很多表应该用什么样的命令。

谢谢各位前辈指导。提供连接或者搜索关键字让我学习。我也很感谢。

cxue 发表于 2013-3-19 15:02:13

本帖最后由 cxue 于 2013-3-19 15:04 编辑


补充一下。
每个表的结构 字段名都一样。只有表名不同。
现在我只能每个表用一个语句查找。结果输出到临时表中。最后输出临时表。

能不能用通配符之类限定表名。然后一下子输出内容。非常感谢。。。

或者有其他优化数据库结构的建议我也想知道。谢谢。

kider 发表于 2013-3-19 15:26:45

循环,存储过程中拼语句实现。
虽然表名不能被参数化,可以用如下的存储过程,动态SQL来实现:DROP PROCEDURE IF EXISTS `USP_kider`$
CREATE DEFINER=`admin`@`%` PROCEDURE `USP_kider`(v_TableName      VARCHAR(64))
BEGIN
      DECLARE v_stat VARCHAR(200);
      SET @v_stat=CONCAT('select * from ',v_TableName);      
      PREPARE SelectConfigTable FROM @v_stat;
      EXECUTE SelectConfigTable;
    END$
DELIMITER ;
其中的SQL变成你要查询的语句。

另外你也可以把这些表都合并到一个大表中来实现。

cxue 发表于 2013-3-19 22:50:32

kider 发表于 2013-3-19 15:26 static/image/common/back.gif
循环,存储过程中拼语句实现。
虽然表名不能被参数化,可以用如下的存储过程,动态SQL来实现:其中的SQL变 ...

研究了一下谢谢你给我开启了一扇窗。
虽然 不是彻底的解决了我的问题。但是至少我知道需要寻找什么了。谢谢。
页: [1]
查看完整版本: 问题可能很菜.请莫怪.关于多表查询.