R
Rhys N
In Access 2000, is it not possible to return the Cartesian product of
two record sets where one of the record sets is the result of an outer
join?
Here is the query I want to run. The record set on the left-hand side
of the Cartesian product contains the outer (left) join. I get the
error message "Join expression not supported" when I try to run this.
SELECT * FROM
(
[Dealer Special Pricing] LEFT JOIN [Company Special Pricing] ON
([Dealer Special Pricing].ProductID = [Company Special
Pricing].ProductID AND [Company Special Pricing].CustomerID =
[Forms]![Customer Pricing]![CustomerID])
), (
Companies INNER JOIN [Exchange Rates] ON
(Companies.QuotingExchangeRateId = [Exchange Rates].ExchangeRateZoneId
AND Companies.CompanyID = [Forms]![Customer Pricing]![CustomerID])
)
If I change the LEFT JOIN to an INNER JOIN, everything works fine. I
can't imagine why the type of join should make any difference to
Access when it goes to calculate the Cartesian product.
Note I've checked that the following simple queries work okay:
1) SELECT * FROM
[Dealer Special Pricing] LEFT JOIN [Company Special Pricing] ON
([Dealer Special Pricing].ProductID = [Company Special
Pricing].ProductID AND [Company Special Pricing].CustomerID =
[Forms]![Customer Pricing]![CustomerID])
2) SELECT * FROM
Companies INNER JOIN [Exchange Rates] ON
(Companies.QuotingExchangeRateId = [Exchange Rates].ExchangeRateZoneId
AND Companies.CompanyID = [Forms]![Customer Pricing]![CustomerID])
3) SELECT * FROM
[Dealer Special Pricing], [Companies]
Any ideas?
Rhys
two record sets where one of the record sets is the result of an outer
join?
Here is the query I want to run. The record set on the left-hand side
of the Cartesian product contains the outer (left) join. I get the
error message "Join expression not supported" when I try to run this.
SELECT * FROM
(
[Dealer Special Pricing] LEFT JOIN [Company Special Pricing] ON
([Dealer Special Pricing].ProductID = [Company Special
Pricing].ProductID AND [Company Special Pricing].CustomerID =
[Forms]![Customer Pricing]![CustomerID])
), (
Companies INNER JOIN [Exchange Rates] ON
(Companies.QuotingExchangeRateId = [Exchange Rates].ExchangeRateZoneId
AND Companies.CompanyID = [Forms]![Customer Pricing]![CustomerID])
)
If I change the LEFT JOIN to an INNER JOIN, everything works fine. I
can't imagine why the type of join should make any difference to
Access when it goes to calculate the Cartesian product.
Note I've checked that the following simple queries work okay:
1) SELECT * FROM
[Dealer Special Pricing] LEFT JOIN [Company Special Pricing] ON
([Dealer Special Pricing].ProductID = [Company Special
Pricing].ProductID AND [Company Special Pricing].CustomerID =
[Forms]![Customer Pricing]![CustomerID])
2) SELECT * FROM
Companies INNER JOIN [Exchange Rates] ON
(Companies.QuotingExchangeRateId = [Exchange Rates].ExchangeRateZoneId
AND Companies.CompanyID = [Forms]![Customer Pricing]![CustomerID])
3) SELECT * FROM
[Dealer Special Pricing], [Companies]
Any ideas?
Rhys