in reply to Re^2: OT: Data Warehousing Strategies
in thread OT: Data Warehousing Strategies
Suppose for example that you have two databases, common and cust1. The common table has table states which contains the full name of each state (full_name), keyed by its abbreviation (ST). The cust1 database has table customers which has the customer number (Cust_ID) and state (ST). If you're logged into cust1 and want to count all the customers by state and list the state name, you'd do something like this:
select common.dbo.states.full_name, count(customers.*) from customers join common.dbo.states on customers.ST = common.dbo.states.ST group by common.dbo.states.full_name order by common.dbo.states.full_name
So it's a bit verbose. But there's another trick you can use in these two databases: You can hide the table in the remote database behind a view so it looks just like a table in the current database. Something like this:
Now you can perform the previous operation more naturally:create view states as select ST, full_name from common.dbo.states
select states.full_name, count(customers.*) from customers join states on customers.ST = states.ST group by states.full_name order by states.full_name
As I said earlier, I'm not very familiar with MySQL (not having used it since about v3.1), but I'd imagine that it offers similar capabilities. Hopefully a knowledgeable MySQL or PostgreSQL user will chime in with similar operations, or improved suggestions.
--roboticus
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: OT: Data Warehousing Strategies
by Booger (Pilgrim) on Aug 28, 2006 at 12:58 UTC |