给出两个表,一个为产品,列产品ID,产品名称,和供应商ID,一个为供应商位置,列供应商ID,城市和国家,写一个SQL查询,以找到供应每个产品的不同国家数量,并按不同国家的数量下降顺序返回结果.
Here's the SQL query to find the number of distinct countries that supply each product and order the results in descending order by the number of distinct countries:

```
SELECT 
    ProductID, 
    ProductName, 
    COUNT(DISTINCT Country) AS NumDistinctCountries 
FROM 
    products 
    JOIN supplier_locations ON products.SupplierID = supplier_locations.SupplierID 
GROUP BY 
    ProductID, 
    ProductName 
ORDER BY 
    NumDistinctCountries DESC;
```

Explanation:
1. Join both the tables using the `SupplierID` column.
2. Group the results by `ProductID` and `ProductName`.
3. Count the distinct number of countries for each product using the `COUNT` and `DISTINCT` functions.
4. Sort the results in descending order of the number of distinct countries using the `ORDER BY` clause.