我有两张 table 。我想从第二个表中获取与第一个表中一行值相对应的数据。
我有两张 table 促销和商店
所以我要做的是首先从 PROMOS 中随机抽取一个行,然后根据该行从 STORES 中获取相应的数据。
PROMOS 表中的“类别”列 = STORES(第二个表的名称)
promos.category = 商店
promos 有以下列:id,image,category,storeid
stores 是第二个包含列的表:sid、storename、storeimage
PROMOS 表中的行:1, promopic.png, stores, 2
STORES 表中的行:2, shoppers, shoppers.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 得到的表名中选择所有内容
关于php - 如何从一个表中获取数据并在同一个查询中使用这些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20278148/