【发布时间】:2023-04-09 05:48:01
【问题描述】:
我有一个 PHP 变量 $members,它看起来像这样
$members = [
[
"name" => "John",
"age" => 23
],
[
"name" => "Sasha",
"age" => 24
],
[
"name" => "Asmita",
"age" => 23
]
];
现在我的应用程序根据人们的年龄存储费率,因此有一个具有以下结构的费率表
| id | age | price |
|---|---|---|
| 1 | 23 | 200 |
| 2 | 24 | 230 |
| 3 | 25 | 250 |
所以,我正在遍历所有成员并得到这个最终查询
SELECT * FROM rates WHERE age =23 OR age=24 OR age = 23
它返回以下结果
| id | age | price |
|---|---|---|
| 1 | 23 | 200 |
| 3 | 24 | 230 |
我想知道是否有某种方法可以将成员添加到结果集中,以便使用 MYSQL 本身返回所有 3 个成员的结果
| id | member | age | price |
|---|---|---|---|
| 1 | John | 23 | 200 |
| 2 | Sasha | 24 | 230 |
| 1 | Asmita | 23 | 200 |
【问题讨论】:
-
年龄 23、24 或 23?
-
我假设您在数据库中也有成员,以及他们的年龄(或者更好的长寿,出生日期)?在这种情况下,请执行 INNER JOIN 查询以一次性获取所有结果
-
@Adyson 不,我在数据库中没有成员,我从表单请求中获取这些成员
-
@jarlh 是的,基本上我通过循环遍历所有成员来添加 or 子句,因此我们有可能在 or 子句中得到重复项
-
@omaresmaeel 我不能,因为我正在从 $_POST 请求中获取这些成员,您是否建议我应该将其插入表中,然后每次都执行连接?
标签: php mysql sql laravel select