Task: equi-join-detect (source dataset: Auto-BI)

Your are given a database with related tables used for business intelligence analysis. Your task is to identify all key/foreign-key join relationships between the tables for this database. Recall that a join is a relationship between two tables, that allows rows from one table to be combined with rows from another, based on a set of common join columns.
 
 
No explanation needed. Please return all join relationships in the following JSON format:
{
  "joins": [
    {
      "from_table": "table-1",
      "from_column": "column-1",
      "to_table": "table-2",
      "to_column": "column-3"
    }, 
	...
  ]
}

Tables:

Table: AW_Calendar_Lookup
| Date                    | Day Name   | Start of Week           | Start of Month          | Month Name   | Start of Year           |   Year |   day of week | weekend   | weekend_2   | short name   | short day   |
|:------------------------|:-----------|:------------------------|:------------------------|:-------------|:------------------------|-------:|--------------:|:----------|:------------|:-------------|:------------|
| 2016-01-01 00:00:00.000 | Friday     | 2015-12-28 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             5 | weekday   | weekday     | JAN          | FRI         |
| 2016-01-02 00:00:00.000 | Saturday   | 2015-12-28 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             6 | weekend   | weekend     | JAN          | SAT         |
| 2016-01-03 00:00:00.000 | Sunday     | 2015-12-28 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             7 | weekend   | weekend     | JAN          | SUN         |
| 2016-01-04 00:00:00.000 | Monday     | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             1 | weekday   | weekday     | JAN          | MON         |
| 2016-01-05 00:00:00.000 | Tuesday    | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             2 | weekday   | weekday     | JAN          | TUE         |
| 2016-01-06 00:00:00.000 | Wednesday  | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             3 | weekday   | weekday     | JAN          | WED         |
| 2016-01-07 00:00:00.000 | Thursday   | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             4 | weekday   | weekday     | JAN          | THU         |
| 2016-01-08 00:00:00.000 | Friday     | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             5 | weekday   | weekday     | JAN          | FRI         |
| 2016-01-09 00:00:00.000 | Saturday   | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             6 | weekend   | weekend     | JAN          | SAT         |
| 2016-01-10 00:00:00.000 | Sunday     | 2016-01-04 00:00:00.000 | 2016-01-01 00:00:00.000 | January      | 2016-01-01 00:00:00.000 |   2016 |             7 | weekend   | weekend     | JAN          | SUN         |


Table: AW_Customers_Lookup
|   CustomerKey | Prefix   | FirstName   | LastName   | BirthDate               | MaritalStatus   | Gender   | EmailAddress                   |   AnnualIncome |   TotalChildren | EducationLevel   | Occupation   | HomeOwner   | FullName            | UserName   | Domain          | IncomeLevel   |   birth year_cc |   birthyear_cc2 |   current age | parent   | fullname_cc         | customer priority   |
|--------------:|:---------|:------------|:-----------|:------------------------|:----------------|:---------|:-------------------------------|---------------:|----------------:|:-----------------|:-------------|:------------|:--------------------|:-----------|:----------------|:--------------|----------------:|----------------:|--------------:|:---------|:--------------------|:--------------------|
|         11206 | Mr.      | BLAKE       | FLORES     | 1948-09-24 00:00:00.000 | M               | M        | blake60@adventure-works.com    |          60000 |               2 | Partial College  | Professional | Y           | Mr. BLAKE FLORES    | blake60    | Adventure Works | average       |            1948 |            1948 |            74 | yes      | Mr. BLAKE FLORES    | standard            |
|         11214 | Mr.      | CHARLES     | MILLER     | 1949-11-07 00:00:00.000 | S               | M        | charles9@adventure-works.com   |          60000 |               2 | Partial College  | Professional | Y           | Mr. CHARLES MILLER  | charles9   | Adventure Works | average       |            1949 |            1949 |            73 | yes      | Mr. CHARLES MILLER  | standard            |
|         11227 | Mr.      | MARSHALL    | CHAVEZ     | 1951-08-12 00:00:00.000 | S               | M        | marshall35@adventure-works.com |          60000 |               2 | Partial College  | Professional | Y           | Mr. MARSHALL CHAVEZ | marshall35 | Adventure Works | average       |            1951 |            1951 |            71 | yes      | Mr. MARSHALL CHAVEZ | standard            |
|         12093 | Mr.      | LEVI        | CHANDRA    | 1948-11-08 00:00:00.000 | M               | M        | levi1@adventure-works.com      |          60000 |               2 | Partial College  | Professional | Y           | Mr. LEVI CHANDRA    | levi1      | Adventure Works | average       |            1948 |            1948 |            74 | yes      | Mr. LEVI CHANDRA    | standard            |
|         12097 | Mr.      | SEAN        | ALLEN      | 1949-11-13 00:00:00.000 | S               | M        | sean49@adventure-works.com     |          60000 |               2 | Partial College  | Professional | Y           | Mr. SEAN ALLEN      | sean49     | Adventure Works | average       |            1949 |            1949 |            73 | yes      | Mr. SEAN ALLEN      | standard            |
|         12108 | Mr.      | JAMES       | WALKER     | 1950-02-23 00:00:00.000 | M               | M        | james96@adventure-works.com    |          60000 |               2 | Partial College  | Professional | Y           | Mr. JAMES WALKER    | james96    | Adventure Works | average       |            1950 |            1950 |            72 | yes      | Mr. JAMES WALKER    | standard            |
|         12117 | Mr.      | CAMERON     | YANG       | 1951-08-03 00:00:00.000 | M               | M        | cameron23@adventure-works.com  |          60000 |               2 | Partial College  | Professional | Y           | Mr. CAMERON YANG    | cameron23  | Adventure Works | average       |            1951 |            1951 |            71 | yes      | Mr. CAMERON YANG    | standard            |
|         12119 | Mr.      | KEITH       | RAJE       | 1951-06-01 00:00:00.000 | M               | M        | keith17@adventure-works.com    |          60000 |               2 | Partial College  | Professional | N           | Mr. KEITH RAJE      | keith17    | Adventure Works | average       |            1951 |            1951 |            71 | yes      | Mr. KEITH RAJE      | standard            |
|         13233 | Mr.      | RICHARD     | COLEMAN    | 1948-12-05 00:00:00.000 | M               | M        | richard61@adventure-works.com  |          60000 |               2 | Partial College  | Professional | Y           | Mr. RICHARD COLEMAN | richard61  | Adventure Works | average       |            1948 |            1948 |            74 | yes      | Mr. RICHARD COLEMAN | standard            |
|         13234 | Mr.      | ROBERT      | LEWIS      | 1948-08-22 00:00:00.000 | S               | M        | robert81@adventure-works.com   |          60000 |               2 | Partial College  | Professional | Y           | Mr. ROBERT LEWIS    | robert81   | Adventure Works | average       |            1948 |            1948 |            74 | yes      | Mr. ROBERT LEWIS    | standard            |


Table: AW_Products_Lookup
|   ProductKey |   ProductSubcategoryKey | ProductSKU   | ProductName                   | ModelName         | ProductDescription                                                                                                                                                                                                            | ProductColor   | ProductStyle   |   ProductCost |   ProductPrice |   DiscountPrice | SKUType   | price point   | sku category   |
|-------------:|------------------------:|:-------------|:------------------------------|:------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------|:---------------|--------------:|---------------:|----------------:|:----------|:--------------|:---------------|
|          215 |                      31 | HL-U509      | Sport-100 Helmet, Black       | Sport-100         | Universal fit, well-vented, lightweight , snap-on visor.                                                                                                                                                                      | Black          | 0              |         12.03 |          33.64 |           28.6  | HL-U509   | low           | HL             |
|          253 |                      14 | FR-R38B-58   | LL Road Frame - Black, 58     | LL Road Frame     | The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.                                                                                                      | Black          | U              |        176.2  |         297.63 |          252.99 | FR-R38B   | mid range     | FR             |
|          256 |                      14 | FR-R38B-60   | LL Road Frame - Black, 60     | LL Road Frame     | The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.                                                                                                      | Black          | U              |        176.2  |         297.63 |          252.99 | FR-R38B   | mid range     | FR             |
|          259 |                      14 | FR-R38B-62   | LL Road Frame - Black, 62     | LL Road Frame     | The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.                                                                                                      | Black          | U              |        176.2  |         297.63 |          252.99 | FR-R38B   | mid range     | FR             |
|          279 |                      14 | FR-R38B-44   | LL Road Frame - Black, 44     | LL Road Frame     | The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.                                                                                                      | Black          | U              |        176.2  |         297.63 |          252.99 | FR-R38B   | mid range     | FR             |
|          282 |                      14 | FR-R38B-48   | LL Road Frame - Black, 48     | LL Road Frame     | The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.                                                                                                      | Black          | U              |        176.2  |         297.63 |          252.99 | FR-R38B   | mid range     | FR             |
|          285 |                      14 | FR-R38B-52   | LL Road Frame - Black, 52     | LL Road Frame     | The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.                                                                                                      | Black          | U              |        176.2  |         297.63 |          252.99 | FR-R38B   | mid range     | FR             |
|          296 |                      12 | FR-M94B-42   | HL Mountain Frame - Black, 42 | HL Mountain Frame | Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps. | Black          | U              |        617.03 |        1191.17 |         1012.5  | FR-M94B   | high          | FR             |
|          299 |                      12 | FR-M94B-44   | HL Mountain Frame - Black, 44 | HL Mountain Frame | Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps. | Black          | U              |        699.09 |        1349.6  |         1147.16 | FR-M94B   | high          | FR             |
|          300 |                      12 | FR-M94B-48   | HL Mountain Frame - Black, 48 | HL Mountain Frame | Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps. | Black          | U              |        699.09 |        1349.6  |         1147.16 | FR-M94B   | high          | FR             |


Table: AW_Product_Categories_Lookup
|   ProductCategoryKey | CategoryName   |
|---------------------:|:---------------|
|                    1 | Bikes          |
|                    2 | Components     |
|                    3 | Clothing       |
|                    4 | Accessories    |


Table: AW_Product_Subcategories_Lookup
|   ProductSubcategoryKey | SubcategoryName   |   ProductCategoryKey |
|------------------------:|:------------------|---------------------:|
|                       1 | Mountain Bikes    |                    1 |
|                       2 | Road Bikes        |                    1 |
|                       3 | Touring Bikes     |                    1 |
|                       4 | Handlebars        |                    2 |
|                       5 | Bottom Brackets   |                    2 |
|                       6 | Brakes            |                    2 |
|                       7 | Chains            |                    2 |
|                       8 | Cranksets         |                    2 |
|                       9 | Derailleurs       |                    2 |
|                      10 | Forks             |                    2 |


Table: AW_Returns
| ReturnDate              |   TerritoryKey |   ProductKey |   ReturnQuantity |
|:------------------------|---------------:|-------------:|-----------------:|
| 2016-07-03 00:00:00.000 |              9 |          477 |                1 |
| 2016-07-11 00:00:00.000 |              4 |          477 |                1 |
| 2016-07-22 00:00:00.000 |              1 |          477 |                1 |
| 2016-07-24 00:00:00.000 |             10 |          477 |                1 |
| 2016-08-02 00:00:00.000 |              4 |          477 |                1 |
| 2016-08-02 00:00:00.000 |              6 |          477 |                1 |
| 2016-08-10 00:00:00.000 |              7 |          477 |                1 |
| 2016-08-11 00:00:00.000 |              6 |          477 |                1 |
| 2016-08-12 00:00:00.000 |              8 |          477 |                1 |
| 2016-08-18 00:00:00.000 |              7 |          477 |                1 |


Table: AW_Sales
| OrderDate               | StockDate               | OrderNumber   |   ProductKey |   CustomerKey |   TerritoryKey |   OrderLineItem |   OrderQuantity | QuantityType   |
|:------------------------|:------------------------|:--------------|-------------:|--------------:|---------------:|----------------:|----------------:|:---------------|
| 2015-07-05 00:00:00.000 | 2002-06-03 00:00:00.000 | SO46718       |          360 |         12570 |              9 |               1 |               1 | single items   |
| 2015-07-07 00:00:00.000 | 2002-04-22 00:00:00.000 | SO46736       |          360 |         12341 |              9 |               1 |               1 | single items   |
| 2015-07-12 00:00:00.000 | 2002-05-05 00:00:00.000 | SO46776       |          360 |         12356 |              9 |               1 |               1 | single items   |
| 2015-07-16 00:00:00.000 | 2002-06-22 00:00:00.000 | SO46808       |          360 |         12347 |              9 |               1 |               1 | single items   |
| 2015-07-18 00:00:00.000 | 2002-05-11 00:00:00.000 | SO46826       |          360 |         12575 |              9 |               1 |               1 | single items   |
| 2015-08-01 00:00:00.000 | 2002-04-21 00:00:00.000 | SO47075       |          360 |         12685 |              9 |               1 |               1 | single items   |
| 2015-08-04 00:00:00.000 | 2002-05-01 00:00:00.000 | SO47098       |          360 |         12667 |              9 |               1 |               1 | single items   |
| 2015-08-10 00:00:00.000 | 2002-04-21 00:00:00.000 | SO47149       |          360 |         12669 |              9 |               1 |               1 | single items   |
| 2015-08-17 00:00:00.000 | 2002-06-04 00:00:00.000 | SO47212       |          360 |         12580 |              9 |               1 |               1 | single items   |
| 2015-08-26 00:00:00.000 | 2002-06-29 00:00:00.000 | SO47302       |          360 |         12670 |              9 |               1 |               1 | single items   |


Table: AW_Territories
|   SalesTerritoryKey | Region         | Country        | Continent     |
|--------------------:|:---------------|:---------------|:--------------|
|                   1 | Northwest      | United States  | North America |
|                   2 | Northeast      | United States  | North America |
|                   3 | Central        | United States  | North America |
|                   4 | Southwest      | United States  | North America |
|                   5 | Southeast      | United States  | North America |
|                   6 | Canada         | Canada         | North America |
|                   7 | France         | France         | Europe        |
|                   8 | Germany        | Germany        | Europe        |
|                   9 | Australia      | Australia      | Pacific       |
|                  10 | United Kingdom | United Kingdom | Europe        |


Table: Price Adjustment(%)
|   Price Adjustment(%) |
|----------------------:|
|                  -1   |
|                  -0.9 |
|                  -0.8 |
|                  -0.7 |
|                  -0.6 |
|                  -0.5 |
|                  -0.4 |
|                  -0.3 |
|                  -0.2 |
|                  -0.1 |

 


tables: name: AW_Calendar_Lookup
data: AW_Calendar_Lookup.csv
name: AW_Customers_Lookup
data: AW_Customers_Lookup.csv
name: AW_Products_Lookup
data: AW_Products_Lookup.csv
name: AW_Product_Categories_Lookup
data: AW_Product_Categories_Lookup.csv
name: AW_Product_Subcategories_Lookup
data: AW_Product_Subcategories_Lookup.csv
name: AW_Returns
data: AW_Returns.csv
name: AW_Sales
data: AW_Sales.csv
name: AW_Territories
data: AW_Territories.csv
name: Price Adjustment(%)
data: Price Adjustment(%).csv
label: AW_Sales
CustomerKey
AW_Customers_Lookup
CustomerKey
AW_Sales
ProductKey
AW_Products_Lookup
ProductKey
AW_Sales
OrderDate
AW_Calendar_Lookup
Date
AW_Sales
TerritoryKey
AW_Territories
SalesTerritoryKey
AW_Returns
ProductKey
AW_Products_Lookup
ProductKey
AW_Returns
TerritoryKey
AW_Territories
SalesTerritoryKey
AW_Returns
ReturnDate
AW_Calendar_Lookup
Date
AW_Products_Lookup
ProductSubcategoryKey
AW_Product_Subcategories_Lookup
ProductSubcategoryKey
AW_Product_Subcategories_Lookup
ProductCategoryKey
AW_Product_Categories_Lookup
ProductCategoryKey
output: {
    "joins": [
        {
            "from_table": "AW_Sales",
            "from_column": "CustomerKey",
            "to_table": "AW_Customers_Lookup",
            "to_column": "CustomerKey"
        },
        {
            "from_table": "AW_Sales",
            "from_column": "ProductKey",
            "to_table": "AW_Products_Lookup",
            "to_column": "ProductKey"
        },
        {
            "from_table": "AW_Sales",
            "from_column": "OrderDate",
            "to_table": "AW_Calendar_Lookup",
            "to_column": "Date"
        },
        {
            "from_table": "AW_Sales",
            "from_column": "TerritoryKey",
            "to_table": "AW_Territories",
            "to_column": "SalesTerritoryKey"
        },
        {
            "from_table": "AW_Returns",
            "from_column": "ProductKey",
            "to_table": "AW_Products_Lookup",
            "to_column": "ProductKey"
        },
        {
            "from_table": "AW_Returns",
            "from_column": "TerritoryKey",
            "to_table": "AW_Territories",
            "to_column": "SalesTerritoryKey"
        },
        {
            "from_table": "AW_Returns",
            "from_column": "ReturnDate",
            "to_table": "AW_Calendar_Lookup",
            "to_column": "Date"
        },
        {
            "from_table": "AW_Products_Lookup",
            "from_column": "ProductSubcategoryKey",
            "to_table": "AW_Product_Subcategories_Lookup",
            "to_column": "ProductSubcategoryKey"
        },
        {
            "from_table": "AW_Product_Subcategories_Lookup",
            "from_column": "ProductCategoryKey",
            "to_table": "AW_Product_Categories_Lookup",
            "to_column": "ProductCategoryKey"
        }
    ]
}