php - 如何从一个表中获取数据并在同一个查询中使用这些值?

标签 php mysql

我有两张 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/

相关文章:

php - 使用 JSON 将 php 数组传递给 javascript

php - 如何在字符串中找到字母数字

php - Wordpress:响应式地在前端静态页面上显示博客。

java - 如何在动态sql搜索中使用LIKE?

php - 尝试插入 mysql 数据库忽略空白字段

mysql - group by() 和 group by 的区别

mysql - 用于在两列之一中搜索 15 个不同值的 Where 子句

php - 插入很多只有数字的行

php - 使用 Codeigniter 获取 PUT 请求

mysql - 即使mysql表中没有记录也返回默认数据