我正在构建一个应用程序来计算客户的每月帐单金额。
我从3个不同的查询中获取MySQL的所有数据,以填充1个表。
我想知道是否有办法加入这些查询,并使用我选择的默认表创建结果集。
例如,我单独使用这些quires,数据会转到同一个表格。
// this will get me the prices per hour for the client.
select * from RoomManager.CompanyFinance where ProjectName = 'xxx';
the output will be something like:
ShiftType | Price
----------|------
OL | 555
OFF | 548
BKG | 666
SND | 422
//this will get me the amount of products per product for the client to this month.
SELECT ShiftType, COUNT(*) FROM RoomManager.dailyrooms
WHERE Project = 'xxx'
AND Company = 'yyy'
AND DayDate LIKE \"%yyyy-dd%"
GROUP BY ShiftType;";
the output will be something like:
ShiftType | COUNT
----------|------
OL | 2
OFF | 1
BKG | 0
SND | 3
//this will get me the amount of cancellations
SELECT WasCancelled, COUNT(*) FROM RoomManager.dailyrooms
WHERE WasCancelled = 2
AND Project = 'xxx'
GROUP BY WasCancelled;
the output will be something like:
WasCancelled | COUNT
-------------|------
2 | 6
有没有办法组合查询并获得单个结果集,如下所示:
ShiftType | Price | COUNT | Was Cancelled
----------|---------------|--------------
OL | 555 | 2 | 6
OFF | 548 | 1 |
BKG | 666 | 0 |
SND | 422 | 3 |
答案 0 :(得分:0)
我的不好,UNION
基本上可以查询结果集。你想自定义结果集(类似的东西):
SELECT Orders.OrderID,Customers.CustomerName,Orders.OrderDate FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID;
JOIN
将两个表组合在一个公共字段中,例如ProjectName和Project字段,允许SQL引擎将两个不同的结果合并到一个由公共字段标识的结果中。
请参阅:http://www.w3schools.com/sql/sql_join.asp
注意:我正在撰写类似的东西'因为它是一个例子,而不是解决方案。它旨在向您展示将两个或更多表格的字段组合在一起的可能性 - 您仍然可以根据自己的具体情况来完成工作并使其运行。
旧(对于这种情况不正确)回答:
可能的方法是使用MySQL UNION
关键字:
SELECT * FROM mySchema.myTable UNION SELECT * FROM mySchema.myOtherTable