我正在尝试使用MySQLi查询在PHP中合并两个表。我有一个包含table2的数据库,其中包含:Country | Region(指Continent)| Value | Area(表示Total,Rural或Urban)
我需要按区域对值求和,以便执行:
$query1 = mysqli_query($con,"SELECT Country, Region, SUM(Value) as Value2 FROM table2 WHERE table2.Area='$area' GROUP BY (table2.Region IN ($region)) ");
$ query1包含5行,其中包含各大洲的相应值。 现在,我想获得一张包含所有国家及其相应的Continen值的表格,我的意思是,如果我在表格2中有西班牙的价值,现在我希望西班牙有相关的汇总欧洲值。
我正在尝试执行此代码:
$result = mysqli_query($con,"SELECT Country,Region FROM table2 WHERE Region IN ($region)");
$result = mysqli_query($con,"SELECT Country,Value FROM $result INNER JOIN $query1 ON $result.Region = $query1.Region");
我认为错误是我使用$ result作为表,也许这个对象不是表,但我不知道。我在执行最后一个查询时遇到致命错误,但它不起作用。
如何获得具有聚合值(在query1中获得)和不同国家/地区的表?我认为主要问题是带有变量的sintax和查询结果的结构
答案 0 :(得分:0)
我认为你误解了DEF 9874
GEH 11223344
的作用。它不会将多个查询组合在一起。
如果我正确理解您的问题,那么您只有一张名为join
的表格。在这种情况下,您可能不需要table2
。
如果您想查看join
,country
及其region
值,则可以sum
group by
和Country
。
Region
如果您想查看SELECT Country, Region, sum(Value)
FROM table2
GROUP BY Country, Region
WHERE Region = 'Europe and Central Asia'
;
及其region
个值,则可以sum
group by
。
Region
如果这不是您想要的,请编辑您的问题并向我们展示所需输出的示例。目前看来,您的要求并不明确。
有助于我们回答您问题的所需输出示例。
+-------------------------+------+ | Region | Sum | +-------------------------+------+ | Europe and Central Asia | 68.0 | | Africa | 59.5 | | Arab States | 46.0 | +-------------------------+------+