Как я могу вставить эти значения в эту таблицу?

#sql #sql-server

#sql #sql-сервер

Вопрос:

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

введите описание изображения здесь Каждый элемент Таблицы1 должен быть связан с каждым элементом Таблицы2, как вы можете видеть на картинке (но я должен сделать это особым образом) в Таблице3
Мне нужно сделать запрос на SQLServer, который может это сделать:

  1. Перечислите каждый элемент Таблицы1, с которым не связан каждый элемент Таблицы2

  2. Вставьте в Table3 точные значения, которые должны быть в Table1, чтобы каждое значение Table1 было связано с Table2

Итак, как вы можете видеть на картинке, ничего из IdTable2 не будет добавлено в IdTable1 = 1, потому что 1 содержит все значения Таблицы2, но в IdTable1 = 2 нет IdTable2 = 6 и так далее.

Комментарии:

1. Вам нужно показать нам, что вы пробовали.

2. Я пытался сделать это с помощью левого соединения, но я все испортил, и я устал от работы, поэтому мне нужна помощь

Ответ №1:

Попробуйте это:

    insert into Table3 (idTable1, idTable2)
     select idTable1, idTable2
       from Table1 cross join Table2
    except
     select idTable1, idTable2 
       from Table3
  

Комментарии:

1. Большое спасибо, я действительно выполнял перекрестное соединение прямо сейчас, это был мой код SELECT c.IdTable1, v.IdTable2 ИЗ Table2 v ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ Table1 c

2. Хорошая работа! Однако, как прокомментировал ваш вопрос @Dale Burrell, когда вы покажете, что вы пробовали до сих пор в своем посте, это побудит больше добровольцев помочь вам. В любом случае рад, что это помогло, и удачи!

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