Php 如何生成一个结果和一行来查找两列的sql和?
我希望结果是柯克,33岁,总费用为30英镑,总约会时间为2天 等(顺便说一句,他们输入自己的名字,所有这些都会出现) sql语句应该是这样的?Php 如何生成一个结果和一行来查找两列的sql和?,php,sql,Php,Sql,我希望结果是柯克,33岁,总费用为30英镑,总约会时间为2天 等(顺便说一句,他们输入自己的名字,所有这些都会出现) sql语句应该是这样的? Table 1 Table 2 _________________ ____________________ | ID| Name |Age | | ID| Cost | Date | |---|-------|----| |---|-------|-------| | 1 | Kirk | 33
Table 1 Table 2
_________________ ____________________
| ID| Name |Age | | ID| Cost | Date |
|---|-------|----| |---|-------|-------|
| 1 | Kirk | 33 | | 1 | 10 | 9/10 |
| 2 | Lonzo | 55 | | 1 | 20 | 7/8 |
| 3 | Dave | 44 | | 2 | 12 | 25/7 |
| 3 | 5 | 30/4 |
| 3 | 5 | 4/10 |
echo“$Name,年龄为$Age岁,总成本为$cost,总日期为$Date”
我出错了,说我的变量没有定义
那么我该如何将它们放入变量中呢
编辑固定的
我没有使用sql来查找它,而是使用while循环的结果,该循环不断地将一个变量添加到另一个变量(以计算日期)。成本在sql(sum)和result中都可以实现。您缺少一个group子句。我还将其放在子查询中,并使用了
内部联接
$sql= "SELECT Table1.Name, Table1.ID, Table2.ID, Table1.Age, SUM(Table2.Cost), SUM(Table2.Date)
AS count from Table1, Table2
WHERE Table1.ID = Table2.ID and Table1.Name = (my example here)"
$result = $conn->query($sql);
$Cost = 0;
$Date= 0;
$rec = $result->fetch_assoc();
$Date= $rec{'count'};
$Cost= $rec{'count'};
$Age = $rec{'Age'}
您还应该将其中一条php语句更改为
SELECT Id, Name, Age, Cost, Dates
FROM Table1
INNER JOIN (
SELECT Id i, SUM(Cost) Cost,
COUNT(Date) Dates
from Table2
GROUP BY Id) t
ON i=Id
WHERE Name = 'Kirk'
我没有使用sql来查找它,而是使用while循环的结果,该循环不断地将一个变量添加到另一个变量(以计算日期)。成本可以在sql(求和)和结果中实现。只需使用join即可
$Cost= $rec{'Cost'};
SUM(表2.Date)
不起作用。那么你又期望它是什么呢?我认为你需要研究分组方式
仔细检查你的$sql
变量你甚至没有包括引号$sql=“sql statement here”代码>那么你会用什么语句来表示日期呢?它还出现了一个错误-->“致命错误:未捕获错误:调用布尔函数上的成员函数fetch_assoc()…堆栈跟踪:#0{main}”这是我的$rec=$result->fetch_assoc();
SELECT table2.date ,SUM(cost) AS tatol FROM table1
JOIN table2 ON table2.id = table1.id
WHERE table1.id = 1