带字符串变量的mysql查询

带字符串变量的mysql查询,mysql,string,Mysql,String,我做了一个程序,在“另一个表”的字符串名称表中循环,我使用这些字符串对另一个表“inputOrders”进行查询,但是我得到的不是返回数字,而是返回输入的字符串 DROP PROCEDURE IF EXISTS x1; delimiter // CREATE PROCEDURE retrieveOrderTotal() BEGIN DECLARE finished INTEGER DEFAULT 0; DECLARE temp VARCHAR(50) DEFAULT "";

我做了一个程序,在“另一个表”的字符串名称表中循环,我使用这些字符串对另一个表“inputOrders”进行查询,但是我得到的不是返回数字,而是返回输入的字符串

DROP PROCEDURE IF EXISTS x1;
delimiter //
CREATE PROCEDURE retrieveOrderTotal()
BEGIN
    DECLARE finished INTEGER DEFAULT 0;
    DECLARE temp VARCHAR(50) DEFAULT "";
    declare stuff CURSOR FOR SELECT * FROM another_table;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
    open stuff;
    getColumn: LOOP
            FETCH stuff INTO temp;
            IF finished = 1 THEN 
                LEAVE getColumn;
            END IF;
            select temp from inputOrders;
        END LOOP getColumn;
    close stuff;
End
//
另一个_表的变量有:

5:_WKLY_SPCL_1
10:_WKLY_SPCL_1
15:_WKLY_SPCL_1
20:_WKLY_SPCL_1
而输入订单有:

    5:_WKLY_SPCL_1
   ------------------
    1
    2
    3
    4

您可以尝试以下方法:

SET @sql := CONCAT('SELECT * FROM ', @table, ';');

PREPARE stmt FROM @sql;
EXECUTE stmt;