Q:

Error: ambiguous column name during inner join / select

I have a database with two tables. "Games" is table with all baseball games from a given season with various identifying info in columns like date, home team, visitor team, and so forth. "Special" is table with all games that have met a certain criteria, with only three columns. I want to select all rows from "Games" that match the three columns in "Special". 
I have tried the code below but get "ambiguous column name" at the first criteria trying to match column data, specifically "main.Games.Date_of_Game" is cited as ambiguous? (but of course my code does not say "main.games.date_of_game" so?
SELECT games.* 
from games 
INNER join games on (Special.Date_of_Game=Games.Date_of_Game AND
games.home=Special.HomeTeam AND game.gamenumber=Special.GameNumber)

I want an output of all rows from "Games" that match all three columns from Special (which is a subset of "Games" selected from outside source but is formatted similar to the columns in Games).

A:

You join Games with Games, but as you say you want to join with the table Special:  
SELECT Games.* 
from Games INNER join Special 
on 
  Special.Date_of_Game=Games.Date_of_Game 
  AND Games.home=Special.HomeTeam 
  AND Games.gamenumber=Special.GameNumber

Also you mispelled the table Games in the ON clause.

