For matching triples (foo, bar, baz) the date in table B shouldnt always be
after any date in table A, as table B contains complete operations?
Best,
Oliver
----- Original Message -----
From: "Rihad" <ri...@stream.az>
To: <pgsql-sql@postgresql.org>
Sent: Thursday, June 21, 2012 6:48 PM
Subject: [SQL] Need help building this query
Hi, folks. I currently need to join two tables that lack primary keys, and
columns used to distinguish each record can be duplicated. I need to build
statistics over the data in those tables. Consider this:
TableA:
row 1: foo: 123, bar: 456, baz: 789, amount: 10.99, date_of_op: date
row 2: foo: 123, bar: 456, baz: 789, amount: 10.99, date_of_op: date
row 3: foo: 123, bar: 456, baz: 789, amount: 10.99, date_of_op: date
TableB:
row 1: foo: 123, bar: 456, baz: 789, amount: 10.99, date_of_op: date
Columns foo + bar + baz are used to distinguish a performed "operation":
TableA.date_of_op isn't, because it can lag behind TableB.
Not all different "operations" are in table B.
Table B is just there so we know which "operations" are complete, so to
speak (happening under external means and not under any of my control).
Now, for each operation (foo+bar+baz) in table A, only *one* row should be
matched in table B, because it only has one matching row there.
The other two in TableA should be considered unmatched.
Now the query should be able to get count(*) and sum(amount) every day for
that day, considering that matched and unmatched operations should be
counted separately. The report would look something like this:
TableA.date_of_op TableB.date_of_op
2012-06-21 [empty] [count(*) and sum(amount)
of all data in TableA for this day unmatched in TableB]
2012-06-21 2012-06-20 [count(*) and sum(amount) of
all data in TableA matched in TableB for the 20-th]
2012-06-21 2012-06-19 [count(*) and sum(amount) of
all data in TableA matched in TableB for the 19-th]
Can this awkward thing be done in pure SQL, or I'd be better off using
programming for this?
Thanks, I hope I could explain this.
--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql