查询在MySQL中检索数据

时间:2015-06-20 22:51:57

标签: mysql sql subquery

我有3张桌子。

enter image description here

一个。销售人员(SSN,lName,startYear,deptNo)

湾旅行(tripID,SSN,fromCity,toCity,departureDate,returnDate)

℃。费用(tripID,accountNumber,金额)

每个表的主键是。 Salesperson表的SSN。 Trip表的TripId,以及Expense表的tripID和帐号。

每个表的外键是。 deptNo for Salesperson表。 Trip表中的SSN和费用表中的tripID

我想做什么:

1)查找tripID,SSN,fromCity,tocity,departureDate,returnDate以及超过2000美元费用的旅行金额。

2)找到前往“芝加哥”的销售代表的SSN。

3)查找销售员的总行程费用,SSN ='123-45-6789'。

我没有创建任何这个,这是学校的练习作业,非常感谢您的帮助,请不要使用非常技术性的语言。

2 个答案:

答案 0 :(得分:1)

您似乎要求完整解决您的任务。 StackOverflow是一个Q& A(问答)网站。你不会,或者至少你不应该得到任何帮助,除非你证明你至少试图自己编写查询。如果您在查找已编写的查询时遇到问题,人们将很乐意帮助您解决具体问题。

我建议你试试这个教程,特别注意第1,3,4,5,11,8,17和1节。 18:

25 Essential MySQL Select Command Examples

编辑添加:我建议你首先处理第二个查询,因为它是最简单的。如果你可以使那个工作,你应该能够扩展你的理解,以实现其他两个。

答案 1 :(得分:0)

1

SELECT tripID,SSN,fromCity,tocity,departureDate,returnDate
FROM
(SELECT Trip.tripID, Trip.SSN, Trip.fromCity, Trip.tocity, Trip.departureDate, Trip.returnDate,sum(Expense.amount) total
FROM Trip left join Expense
ON Trip.tripID = Expense.tripID
GROUP BY Trip.tripID) data
WHERE data.total>2000

2

SELECT distinct SSN 
FROM Trip 
WHERE fromCity='Chicago'

3

SELECT sum(Expense.amount) total
    FROM Trip left join Expense
    ON Trip.tripID = Expense.tripID
GROUP BY Trip.SSN = '123456789'

你必须自己检查一下。