Dbmode-6ren">
gpt4 book ai didi

php - 如何将多个mysql查询组合成一个查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:45 26 4
gpt4 key购买 nike

我有 3 个不同的查询,如下所示:

$query = "select category_id,category_name from category";
$result = $this->Dbmodel->customQueryResult($query);

$query = "select location,location_name from sub_category";
$result_one = $this->Dbmodel->customQueryResult($query);

$query = "select category_date,category_month from other_category";
$result_two = $this->Dbmodel->customQueryResult($query);

这里我调用mysql服务器3次来执行我的查询并得到结果..

现在我正在考虑如何减少 mysql 调用,以便所有这 3 个 query 都在 one 单个查询中执行,因此只需要 1 个调用 mysql 服务器 并使用 php

向用户显示所有不同的结果

我该怎么做..任何帮助或建议都会很有帮助..提前致谢

最佳答案

您所描述的是一个 SQL UNION。

下面是一个示例查询,您可以使用它来实现您的目标:

SELECT category_id,category_name FROM category
UNION
SELECT location,location_name FROM sub_category
UNION
SELECT category_date,category_month FROM other_category

示例用法:

$query = 'SELECT category_id, category_name FROM category
UNION
SELECT location, location_name FROM sub_category
UNION
SELECT category_date, category_month FROM other_category';
$result = $this->Dbmodel->customQueryResult($query);

echo 'CategoryID: ' . $result['category_id'] . '<br />';
echo 'Category Name: ' . $result['category_name'] . '<br />';
echo 'Location: ' . $result['location'] . '<br />';
echo 'Location Name: ' . $result['location_name'] . '<br />';
echo 'Category Date: ' . $result['category_date'] . '<br />';
echo 'Category Month: ' . $result['category_month'];

请记住,如果您需要从不同的表中选择具有相同名称的字段来使用 SQL 别名。别名示例:

SELECT category_id AS `catID` FROM category

您可以使用 $result['catID'] 而不是 $result['category_id']。

关于php - 如何将多个mysql查询组合成一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22688297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com