lundi 4 avril 2016

SQL-LIte: Left Join not returning all rows

I am trying to read Google Chrome history from its sql lite database.

There are two table on which I want to perform left join

  1. urls
  2. vists

Structure of urls

+-----------------+-------------+---+------+---+
| id              | INTEGER     | 0 | NULL | 1 |
| url             | LONGVARCHAR | 0 | NULL | 0 |
| title           | LONGVARCHAR | 0 | NULL | 0 |
| visit_count     | INTEGER     | 1 | 0    | 0 |
| typed_count     | INTEGER     | 1 | 0    | 0 |
| last_visit_time | INTEGER     | 1 | NULL | 0 |
| hidden          | INTEGER     | 1 | 0    | 0 |
| favicon_id      | INTEGER     | 1 | 0    | 0 |
+-----------------+-------------+---+------+---+

Structure of visits

+-----+------------------+-----------+-----+--------+-----+
| "0" | "id"             | "INTEGER" | "0" | "NULL" | "1" |
| "1" | "url"            | "INTEGER" | "1" | "NULL" | "0" |
| "2" | "visit_time"     | "INTEGER" | "1" | "NULL" | "0" |
| "3" | "from_visit"     | "INTEGER" | "0" | "NULL" | "0" |
| "4" | "transition"     | "INTEGER" | "1" | "0"    | "0" |
| "5" | "segment_id"     | "INTEGER" | "0" | "NULL" | "0" |
| "6" | "visit_duration" | "INTEGER" | "1" | "0"    | "0" |
+-----+------------------+-----------+-----+--------+-----+

Senario

urls have 138 records and visits have 171 records

given below is the join that I am performing which is returning 58 records.

I want to denormalise both tables. Please help. Given below is the join that I am performing

select 

urls.url,
urls.title,
urls.visit_count,
datetime(urls.last_visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') as last_visit_time,
urls.typed_count,
urls.hidden,

visits.from_visit,
 visits.visit_duration,
datetime(visits.visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') as visit_time

 from urls 
left outer join visits on urls.id = visits.url


where 
datetime(visits.visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch')   >  '2016-04-03'

order by visits.visit_duration desc

Aucun commentaire:

Enregistrer un commentaire