我有两张桌子。我想从第二个表中获取与第一个表中一行的值相对应的数据。
我有两张桌子促销和商店
所以我要做的是首先从promo中提取一个随机行,并基于该行从存储中获取相应的数据。
PROMOS table中的“category”列=STORES(第二个表的名称)
promos.category=商店
促销有以下列:id、image、category、storeid
stores是第二个具有以下列的表:sid、storename、storeimage
PROMOS表中的行:1,promopic.png,stores,2
商店表中的行:2,购物者,购物者.png,
--
更新:
我想做的是“商店”的名字是一排的促销。所以我从中选择数据的第二个表的名称是未知的,直到我们首先从promos表中获得它。。
我试过这样的东西
SELECT * FROM promos, promos.category WHERE promos.category.sid ='promos.storeid'

最佳答案

尝试以下操作;)

set @table_name = (SELECT category FROM promos where id=1); --change the 1 to whatever
set @sql =  CONCAT("select * from ",@table_name);
PREPARE query FROM @sql;
EXECUTE query;

上面假设您想从promos.category得到的表名中选择所有内容

10-06 03:03