вставить несколько записей в несколько столбцов таблицы из многих таблиц

Я хочу вставить несколько записей в несколько столбцов таблицы из многих таблиц. Ниже мой запрос, но я просто вставляю записи в первый столбец. Остальные столбцы заполняются нулями. Можете ли вы дать мне знать, что я делаю неправильно?

INSERT INTO [dbo].[dim_one_staging] ([Parent], [Child], [Child_Alias], [Operator])
   SELECT
      p.[Parent], c.[Child], a.[Child_Alias], o.[Child_Operator]
   FROM
      [dbo].[Staging_Parent] AS p
   INNER JOIN 
      [dbo].[Staging_Child] AS c ON p.[id] = c.[id]
   INNER JOIN 
      [dbo].[Staging_Child_Alias] AS a ON c.[id] = a.[id]
   INNER JOIN 
      [dbo].[Staging_Operator] AS o ON a.[id] = o.[id]

person user56962    schedule 21.11.2014    source источник
comment
Не могли бы вы вставить текущие данные в таблицы? Все ли таблицы имеют соответствующие данные для каждого идентификатора?   -  person Piyush Parashar    schedule 21.11.2014
comment
если вы просто запустите запрос Select, он возвращает значения, отличные от null?   -  person M.Ali    schedule 21.11.2014


Ответы (1)


Ваш запрос синтаксически верен. Это не значит, что он делает то, что вы хотите.

Возможно, у вас нет значений в

,c.[Child]
,a.[Child_Alias]
,o.[Child_Operator]

для записей, которые соответствуют остальным условиям запроса и, таким образом, null является правильным значением.

Возможно, у вас нет значений в таблицах соединения для этих полей, но у вас должны быть значения, и в этом случае возникает ошибка при вводе данных в эти таблицы.

Или может случиться так, что вы пытаетесь получить значения из таблицы, где значение не требуется, и поместить их в таблицу, где оно есть, и, следовательно, вам нужно использовать объединение (или значения по умолчанию), чтобы определить, что должно быть там, если значение нулевой.

Еще одна возможность заключается в том, что в таблице есть триггер, который обнуляет значения.

Только вы можете определить, в чем проблема, исходя из имеющейся у вас структуры данных и значения, придаваемого этим данным. Я не знаю, как решить вашу проблему, потому что я на самом деле не понимаю вашу модель данных в смысле (в отличие от структуры).

person HLGEM    schedule 21.11.2014