编写SQL查询以显示特定费用

时间:2017-04-11 19:36:25

标签: sql oracle

我正在编写一个SQL查询,以显示在行程中同时收取运动和晚餐费用的客人的姓名。有人能指出我正确的方向来设置查询吗?

这是我所拥有但却没有结果......

SELECT GUEST.FIRSTNAME, CHARGETYPE.DESCRIPTION
FROM GUEST, CHARGES, CHARGETYPE
WHERE CHARGETYPE.CHARGEID = CHARGES.CHARGEID
AND CHARGES.CHARGEID = '07'
AND CHARGES.CHARGEID = '03'
费用07和03恭敬地反映了运动和晚餐的费用。我很抱歉缺少信息,第一次真正使用stackoverflow。

这是CHARGETYPE表

CHARGEID and DESCRIPTION are the column names
01  ROOM DEPOSIT        
02  LUNCH SERVICE       
03  DINNER SERVICE      
04  BREAKFAST SERVICE   
05  ROOM CHARGE         
06  GIFTSHOP PURCHASE   
07  ATHLETIC CHARGE         

CHARGEID, ITINID, CHARGETIME, AMOUNT, GUESTID are the columns for the CHARGES table
01  001 11:00   -1850001
02  001 14:00   30  0001
03  001 18:00   55  0001
04  001 11:00   20  0001
05  001 20:00   20  0001
08  001 12:00   20  0001
01  002 16:00   -185    0002
02  002 16:30   40  0002
04  002 10:00   20  0002
05  002 14:00   25  0002
09  002 15:00   25  0002
01  003 10:00   -185    0003
02  003 12:00   30  0003
03  003 18:00   50  0003
04  003 11:00   18  0003
05  003 12:30   27  0003
06  003 14:45   30  0003
01  004 11:00   -185    0004
02  004 13:00   40  0004
03  004 19:00   60  0004
04  004 11:00   15  0004
05  004 20:00   34  0004
01  005 10:00   -185    0005
02  005 12:00   30  0005
03  005 17:00   30  0005
04  005 10:00   10  0005
05  005 16:00   25  0005
01  006 11:00   -185    0001
02  006 12:00   22  0001
03  006 18:00   40  0001
04  006 08:00   15  0001
05  006 20:00   60  0001
07  006 14:00   50  0001
01  007 11:00   -185    0003
02  007 12:00   20  0003
03  007 17:00   55  0003
04  007 10:00   15  0003
05  007 16:00   45  0003
01  008 11:00   -185    0005
02  008 13:00   20  0005
03  008 18:00   60  0005
04  008 09:00   20  0005
05  008 22:00   65  0005
07  008 12:00   50  0005

GUESTID LASTNAME FIRSTNAME are the columns for the GUEST table
0001    SMITH       JOHN         
0002    SMITH       LISA        
0003    ADAMS       PETER       
0004    ADAMS       JANE        
0005    JOHNSON     DEAN         

1 个答案:

答案 0 :(得分:0)

f = open('matrix.txt','r+')
lines=f.readlines()
print(lines[1].split('\t')[2])