Skip to content

Commit 8cbd256

Browse files
committed
implemetented the join
1 parent 0b31fa8 commit 8cbd256

File tree

5 files changed

+75
-3931
lines changed

5 files changed

+75
-3931
lines changed

mysqlite/database.csv

Lines changed: 0 additions & 6 deletions
This file was deleted.

mysqlite/my_sqlite_cli.rb

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,24 @@ def queryUserInput
1919
when 'exit'
2020
puts 'exiting sqlte cli'
2121
break
22-
when /^(\s*(SELECT|select)\s+([\w\s*,]+)\s+(FROM|from)\s+(\S+)\s*(?:(WHERE|where)\s+(.*?))?\s*)$/
22+
when /^(\s*(SELECT|select)\s+([\w\s*,]+)\s+(FROM|from)\s+(\S+)\s*(?:(JOIN|join)\s+(\S+)\s+(on|ON)\s+(\S+))?(?:(WHERE|where)\s+(.*?))?\s*)$/
2323

2424
column_name=$3
2525
table_name="#{$5}.csv"
26-
where_conditions=$7
26+
where_conditions=$11
27+
table_name2="#{$7}.csv"
28+
join_on=$9
29+
30+
31+
2732
result=runSelectQuery(table_name,column_name).run
28-
29-
if where_conditions
30-
result=runSelectWhereQuery(where_conditions,table_name,column_name).run
33+
if join_on
34+
result=runJoinQuery(join_on,table_name,table_name2,column_name).run
35+
3136
end
37+
if where_conditions
38+
result=runSelectWhereQuery(where_conditions,table_name,column_name).run
39+
end#where
3240

3341

3442

@@ -66,5 +74,20 @@ def runSelectWhereQuery(conditions,table_name,column_name)
6674
return request
6775
end
6876

77+
def runJoinQuery(join_conditions,table_name,table_name2,column_name)
78+
join_conditions_array=join_conditions.split("=")
79+
request=runSelectQuery(table_name,column_name)
80+
request=request.join(join_conditions_array[0],table_name2,join_conditions_array[1])
81+
return request
82+
end
6983
MySQLite.new
70-
# select name,age from nba_player_data.csv
84+
85+
# SELECT name
86+
# FROM table1
87+
# JOIN table2 ON table1.id=table2.id
88+
89+
# request = MySqliteRequest.new
90+
# request = request.from('nba_player_data.csv')
91+
# request=request.select('*')
92+
# request=request.join('weight','nba_players.csv','weight2')
93+
# request.run

mysqlite/my_sqlite_request.rb

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ def self.from(table) #expect(MySqliteRequest.from('database.csv')).to be_a(MySql
1818
end
1919

2020
def select(*variable_columns)# * this converts our parametrs to an array
21+
2122
@request='select'
2223
@columns=variable_columns
24+
2325
self
2426
end
2527

@@ -301,11 +303,52 @@ def merge(left, right, &block)
301303
302304
result
303305
end
306+
307+
# request = MySqliteRequest.new
308+
# request = request.from('nba_player_data.csv')
309+
# request=request.select('*')
310+
# request=request.join('weight','nba_players.csv','weight2')
311+
# request.run
312+
304313
# request = MySqliteRequest.new
305-
# request = request.delete()-__+++
306314
# request = request.from('nba_player_data.csv')
315+
# request = request.select('name')
316+
# request = request.where('college', "University of California, Los Angeles")
317+
# request = request.where('year_start', '1970')
318+
319+
# request.run
320+
321+
322+
323+
307324
# request = request.where('name', 'Paul Zipser')
308325
# request.run
326+
# request = MySqliteRequest.new
327+
# request = request.update('nba_player_data.csv')
328+
# request = request.values('name' => 'Alaa Renamed')
329+
# request = request.where('name', 'Matt Zunic')
330+
# request.run
331+
# def join(column_on_db_a, filename_db_b, column_on_db_b)
332+
333+
334+
335+
336+
337+
338+
339+
340+
341+
342+
343+
344+
345+
346+
347+
348+
349+
350+
351+
309352
# request = MySqliteRequest.new
310353
# request = request.update('nba_player_data.csv')
311354
# request = request.values('name' => 'Alaa Renamed')

0 commit comments

Comments
 (0)