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: Customers
|   Customer Index | Customer Names   |
|-----------------:|:-----------------|
|                1 | Geiss Company    |
|                2 | Jaxbean Group    |
|                3 | Ascend Ltd       |
|                4 | Eire Corp        |
|                5 | Blogtags Ltd     |
|                6 | Family Corp      |
|                7 | Skidoo Company   |
|                8 | Amerisourc Corp  |
|                9 | Walgreen Corp    |
|               10 | Unit Ltd         |


Table: Dates
| Date                    |   Year |   QuarterOfYear |   MonthOfYear |   DayOfMonth |   DateInt | DayOfWeekName   | WeekEnding              |   MonthnYear |   QuarternYear | Month Name   | Month & Year   | Quarter & Year   |   DayOfWeek | MonthEnding             |   ISO Weeknumber |   ISO Year |   ISO Day of Year | Week & Year   |   WeeknYear | Fiscal Year   | Fiscal Quarter   |   Fiscal Period | IsAfterToday   | IsWorkingDay   | IsHoliday   | IsBusinessDay   | Day Type   |   WeekOffset |   MonthOffset |   QuarterOffset |   YearOffset |   FiscalYearOffset | WeekCompleted   | MonthCompleted   | QuarterCompleted   |
|:------------------------|-------:|----------------:|--------------:|-------------:|----------:|:----------------|:------------------------|-------------:|---------------:|:-------------|:---------------|:-----------------|------------:|:------------------------|-----------------:|-----------:|------------------:|:--------------|------------:|:--------------|:-----------------|----------------:|:---------------|:---------------|:------------|:----------------|:-----------|-------------:|--------------:|----------------:|-------------:|-------------------:|:----------------|:-----------------|:-------------------|
| 2014-07-02 00:00:00.000 |   2014 |               3 |             7 |            2 |  20140702 | Wednesday       | 2014-07-06 00:00:00.000 |     20140700 |       20140300 | July         | Jul 2014       | Q3 2014          |           2 | 2014-07-31 00:00:00.000 |               27 |       2014 |               183 | 2014-27       |    20142700 | FY15          | FQ1              |               1 | False          | True           | Unknown     | True            | Weekday    |         -347 |           -79 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-07-09 00:00:00.000 |   2014 |               3 |             7 |            9 |  20140709 | Wednesday       | 2014-07-13 00:00:00.000 |     20140700 |       20140300 | July         | Jul 2014       | Q3 2014          |           2 | 2014-07-31 00:00:00.000 |               28 |       2014 |               190 | 2014-28       |    20142800 | FY15          | FQ1              |               1 | False          | True           | Unknown     | True            | Weekday    |         -346 |           -79 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-07-16 00:00:00.000 |   2014 |               3 |             7 |           16 |  20140716 | Wednesday       | 2014-07-20 00:00:00.000 |     20140700 |       20140300 | July         | Jul 2014       | Q3 2014          |           2 | 2014-07-31 00:00:00.000 |               29 |       2014 |               197 | 2014-29       |    20142900 | FY15          | FQ1              |               1 | False          | True           | Unknown     | True            | Weekday    |         -345 |           -79 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-07-23 00:00:00.000 |   2014 |               3 |             7 |           23 |  20140723 | Wednesday       | 2014-07-27 00:00:00.000 |     20140700 |       20140300 | July         | Jul 2014       | Q3 2014          |           2 | 2014-07-31 00:00:00.000 |               30 |       2014 |               204 | 2014-30       |    20143000 | FY15          | FQ1              |               1 | False          | True           | Unknown     | True            | Weekday    |         -344 |           -79 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-07-30 00:00:00.000 |   2014 |               3 |             7 |           30 |  20140730 | Wednesday       | 2014-08-03 00:00:00.000 |     20140700 |       20140300 | July         | Jul 2014       | Q3 2014          |           2 | 2014-07-31 00:00:00.000 |               31 |       2014 |               211 | 2014-31       |    20143100 | FY15          | FQ1              |               1 | False          | True           | Unknown     | True            | Weekday    |         -343 |           -79 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-08-06 00:00:00.000 |   2014 |               3 |             8 |            6 |  20140806 | Wednesday       | 2014-08-10 00:00:00.000 |     20140800 |       20140300 | August       | Aug 2014       | Q3 2014          |           2 | 2014-08-31 00:00:00.000 |               32 |       2014 |               218 | 2014-32       |    20143200 | FY15          | FQ1              |               2 | False          | True           | Unknown     | True            | Weekday    |         -342 |           -78 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-08-13 00:00:00.000 |   2014 |               3 |             8 |           13 |  20140813 | Wednesday       | 2014-08-17 00:00:00.000 |     20140800 |       20140300 | August       | Aug 2014       | Q3 2014          |           2 | 2014-08-31 00:00:00.000 |               33 |       2014 |               225 | 2014-33       |    20143300 | FY15          | FQ1              |               2 | False          | True           | Unknown     | True            | Weekday    |         -341 |           -78 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-08-20 00:00:00.000 |   2014 |               3 |             8 |           20 |  20140820 | Wednesday       | 2014-08-24 00:00:00.000 |     20140800 |       20140300 | August       | Aug 2014       | Q3 2014          |           2 | 2014-08-31 00:00:00.000 |               34 |       2014 |               232 | 2014-34       |    20143400 | FY15          | FQ1              |               2 | False          | True           | Unknown     | True            | Weekday    |         -340 |           -78 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-08-27 00:00:00.000 |   2014 |               3 |             8 |           27 |  20140827 | Wednesday       | 2014-08-31 00:00:00.000 |     20140800 |       20140300 | August       | Aug 2014       | Q3 2014          |           2 | 2014-08-31 00:00:00.000 |               35 |       2014 |               239 | 2014-35       |    20143500 | FY15          | FQ1              |               2 | False          | True           | Unknown     | True            | Weekday    |         -339 |           -78 |             -26 |           -7 |                 -6 | True            | True             | True               |
| 2014-09-03 00:00:00.000 |   2014 |               3 |             9 |            3 |  20140903 | Wednesday       | 2014-09-07 00:00:00.000 |     20140900 |       20140300 | September    | Sep 2014       | Q3 2014          |           2 | 2014-09-30 00:00:00.000 |               36 |       2014 |               246 | 2014-36       |    20143600 | FY15          | FQ1              |               3 | False          | True           | Unknown     | True            | Weekday    |         -338 |           -77 |             -26 |           -7 |                 -6 | True            | True             | True               |


Table: Moving Average Measures



Table: Products
|   Index | Product Name   |   Total Sales |
|--------:|:---------------|--------------:|
|       1 | Product 1      |   9.32538e+06 |
|       2 | Product 2      |   9.56685e+06 |
|       3 | Product 3      |   8.62747e+06 |
|       4 | Product 4      |   9.45026e+06 |
|       5 | Product 5      |   1.18007e+07 |
|       6 | Product 6      |   6.69152e+06 |
|       7 | Product 7      |   2.84304e+06 |
|       8 | Product 8      |   3.30845e+06 |
|       9 | Product 9      |   2.4331e+06  |
|      10 | Product 10     |   2.94604e+06 |


Table: Ranking Index
|   Ranking Index |
|----------------:|
|               1 |
|               2 |
|               3 |
|               4 |
|               5 |
|               6 |
|               7 |
|               8 |
|               9 |
|              10 |


Table: Refresh Date and Time
| Last Refresh            | Date                    | Time                    |
|:------------------------|:------------------------|:------------------------|
| 2021-02-24 03:19:00.880 | 2021-02-24 00:00:00.000 | 1899-12-30 03:19:00.880 |


Table: Regions
|   Index | City          | Country   | Territory       | Full Name                                 |
|--------:|:--------------|:----------|:----------------|:------------------------------------------|
|       1 | Sydney        | Australia | New South Wales | Sydney, New South Wales, Australia        |
|       2 | Albury        | Australia | New South Wales | Albury, New South Wales, Australia        |
|       3 | Armidale      | Australia | New South Wales | Armidale, New South Wales, Australia      |
|       4 | Bathurst      | Australia | New South Wales | Bathurst, New South Wales, Australia      |
|       5 | Broken Hill   | Australia | New South Wales | Broken Hill, New South Wales, Australia   |
|       6 | Cessnock      | Australia | New South Wales | Cessnock, New South Wales, Australia      |
|       7 | Coffs Harbour | Australia | New South Wales | Coffs Harbour, New South Wales, Australia |
|       8 | Dubbo         | Australia | New South Wales | Dubbo, New South Wales, Australia         |
|       9 | Gosford       | Australia | New South Wales | Gosford, New South Wales, Australia       |
|      10 | Goulburn      | Australia | New South Wales | Goulburn, New South Wales, Australia      |


Table: Sales
| Order Number   | Order Date              |   Customer Name Index | Channel   | Currency Code   | Warehouse Code   |   Delivery Region Index |   Product Description Index |   Order Quantity |   Unit Price |   Revenue |   Total Unit Cost | Customer Name   |
|:---------------|:------------------------|----------------------:|:----------|:----------------|:-----------------|------------------------:|----------------------------:|-----------------:|-------------:|----------:|------------------:|:----------------|
| SO - 0005126   | 2015-01-01 00:00:00.000 |                     8 | Wholesale | EUR             | AXW291           |                       7 |                          26 |                6 |        978.2 |    5869.2 |           684.74  | Amerisourc Corp |
| SO - 0002795   | 2015-01-03 00:00:00.000 |                   111 | Wholesale | EUR             | AXW291           |                       1 |                          26 |               12 |       3872.6 |   46471.2 |          2517.19  | Buzzbean Group  |
| SO - 0003918   | 2015-01-11 00:00:00.000 |                    93 | Wholesale | EUR             | AXW291           |                      49 |                          26 |                6 |       1105.5 |    6633   |           851.235 | Meejo Corp      |
| SO - 0005857   | 2015-01-13 00:00:00.000 |                    15 | Wholesale | EUR             | AXW291           |                      72 |                          26 |                9 |       1072   |    9648   |           600.32  | Centizu Company |
| SO - 0007086   | 2015-01-16 00:00:00.000 |                   100 | Wholesale | EUR             | AXW291           |                      62 |                          26 |                7 |       2345   |   16415   |          1219.4   | Aibox Company   |
| SO - 0003190   | 2015-01-17 00:00:00.000 |                    88 | Wholesale | EUR             | AXW291           |                      12 |                          26 |               10 |        201   |    2010   |           160.8   | Twitterbri Ltd  |
| SO - 0008463   | 2015-01-24 00:00:00.000 |                    13 | Wholesale | EUR             | AXW291           |                      68 |                          26 |                8 |       1862.6 |   14900.8 |           949.926 | Nexus Group     |
| SO - 0001310   | 2015-01-26 00:00:00.000 |                    91 | Wholesale | EUR             | AXW291           |                       3 |                          26 |                7 |        737   |    5159   |           626.45  | Zoonder Group   |
| SO - 0003868   | 2015-01-26 00:00:00.000 |                    59 | Wholesale | EUR             | AXW291           |                      27 |                          26 |                8 |       2512.5 |   20100   |          1331.62  | Gabvine Ltd     |
| SO - 0006229   | 2015-01-31 00:00:00.000 |                    91 | Wholesale | EUR             | AXW291           |                      46 |                          26 |                9 |       2278   |   20502   |          1161.78  | Zoonder Group   |


Table: Time Comparison Measures


 


tables: name: Customers
data: Customers.csv
name: Dates
data: Dates.csv
name: Moving Average Measures
data: Moving Average Measures.csv
name: Products
data: Products.csv
name: Ranking Index
data: Ranking Index.csv
name: Refresh Date and Time
data: Refresh Date and Time.csv
name: Regions
data: Regions.csv
name: Sales
data: Sales.csv
name: Time Comparison Measures
data: Time Comparison Measures.csv
label: Sales
Customer Name Index
Customers
Customer Index
Sales
Delivery Region Index
Regions
Index
Sales
Order Date
Dates
Date
Sales
Product Description Index
Products
Index
output: {
    "joins": [
        {
            "from_table": "Sales",
            "from_column": "Customer Name Index",
            "to_table": "Customers",
            "to_column": "Customer Index"
        },
        {
            "from_table": "Sales",
            "from_column": "Delivery Region Index",
            "to_table": "Regions",
            "to_column": "Index"
        },
        {
            "from_table": "Sales",
            "from_column": "Order Date",
            "to_table": "Dates",
            "to_column": "Date"
        },
        {
            "from_table": "Sales",
            "from_column": "Product Description Index",
            "to_table": "Products",
            "to_column": "Index"
        }
    ]
}