I have a database with the follwoing scenario:
A company has shipping rates, to many different ports throughout the world. So there may be 20 companies, with rates to 50 different ports. But these rates can be subject to a haulage charge which is dependent upon which region the end port is in. So a haulage company will charge a different rate if the load is going to Far East or South America. The way I have got around this is to have a table which lists all regions that the haulage company will export to. (Stay with me, I'm getting to the point!) This leads to a huge problem because this table starts to get huge (over a million records). As most haulage companies go to all regions, it would make much more sense to only keep a record of where these haulage companies DON'T export. This would result in a table with probably only 100 or so records.
My problem is - how do I write the SQL to only look for records that aren't there, rather than those that are?
I have attached a sample database, but I have had to hack so much out of it that it may not make sense.