Oracle INNER JOIN не работает, но CARTESIAN join работает - PullRequest
2 голосов
/ 28 мая 2019

Я получаю очень странную ошибку. Если я напишу свой запрос, используя INNER JOIN, как показано ниже:

 String query = @"SELECT     *
                  FROM       BKING CCVB
                  INNER JOIN SEM S ON CCVB.BKING_REQ_DTM BETWEEN S.ST_D AND S.END_D";
 OracleCommand dbCommand = new OracleCommand(query, Connection);
 OracleDataAdapter adapter = new OracleDataAdapter(dbCommand);
 OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
 DataTable dt = new DataTable();
 adapter.Fill(dt);
 return dt;

Запрос не выполняется со следующим сообщением об ошибке:

{Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00942: таблица или представление не существует

Но когда я перехожу на декартово соединение, это нормально:

 String query = @"SELECT     *
                  FROM       BKING CCVB, SEM S 
                  WHERE      CCVB.BKING_REQ_DTM BETWEEN S.ST_D AND S.END_D";
 OracleCommand dbCommand = new OracleCommand(query, Connection);
 OracleDataAdapter adapter = new OracleDataAdapter(dbCommand);
 OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
 DataTable dt = new DataTable();
 adapter.Fill(dt);
 return dt;

Есть какая-то конкретная причина, почему это не удается? И как решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...