Как посчитать количество найденных по связям tsql
Перейти к содержимому

Как посчитать количество найденных по связям tsql

  • автор:

SQL — подсчет количества связанных записей в другой таблице

Поскольку я новичок в SQL, я не могу описать проблему простым способом, поэтому позвольте мне показать вам пример:

    Я бы group_id person_id
    Я бы название
    Я бы group_id

Как видите, GROUP может иметь несколько ЧЕЛОВЕК, а ПРОДУКТ может быть связан с GROUP и PERSON.

С этого момента я хотел бы посчитать количество ЛИЦ, имеющих ПРОДУКТ в ГРУППЕ

Я на самом деле не понимаю фон IN или использование другого SELECT в рамках FROM, так что если в этом суть, то я счастлив, что я был на шаг впереди, лол.

Взять количество записей из другой таблицы

Указать в поле количество связанных записей из другой таблицы
Здравствуйте! Помогите, пожалуйста, решить следующую задачу. Имеются 2 таблицы: "Организации" и.

Посчитать количество записей в одной таблице и передать значение в поле другой таблицы
Здравствуйте. Есть две таблицы "Деканат" и "Студенты". Нужно чтобы в поле "Деканат.Количество.

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

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

Как получить количество связей между двумя таблицами в SQL Server, используя TSQL?

Я использую следующий код, чтобы получить все таблицы, которые имеют внешний ключ таблицы в where пункт, который в этом примере SolutionUser :

Чего я не могу добиться, так это получить мощность этих отношений (один-к-одному, один-ко-многим)

Можно ли получить эти мощности с помощью T-SQL?

1 ответ

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

T-SQL — получить количество объединенных записей

Интересно, как лучше написать следующий запрос к Microsoft SQL Server.

У меня есть три таблицы: surveys , survey_presets и survey_scenes . Они имеют следующие столбцы:

Оба формата survey_presets и survey_scenes иметь внешние ключи на surveys для survey_id колонка.

Теперь я хочу выбрать все опросы с количеством соответствующих пресетов и сцен для каждого. Вот «псевдозапрос» того, что я хочу:

я могу сделать беспорядок с SELECT DISTINCT , JOIN , GROUP BY и т. д., но я новичок в T-SQL и сомневаюсь, что мой запрос будет оптимальным в каком-либо смысле.

задан 19 сен ’12, 12:09

2 ответы

Я бы сделал подсчет в подзапросах, чтобы избежать декартовых произведений. Поскольку у вас может быть несколько совпадающих строк в presets а также несколько в scenes результирующее количество может быть умножено. Вы можете написать простой запрос на соединение и избежать умножения путем подсчета distinct survey_presets.id и distinct survey_scenes.id хотя.

Как это работает?

Вы можете ввести специальный тип подзапроса, который называется derived table в раздел FROM вашего запроса. Производная таблица определяется как обычный запрос, заключенный в круглые скобки, за которым следует псевдоним таблицы. Он не может использовать какой-либо столбец из внешнего запроса, но может отображать столбцы, которые вы используете в разделе ON для присоединения производной таблицы к основной части запроса.

В этом случае производная таблица просто подсчитывает строки, сгруппированные по идентификатору; объединения соединяют подсчеты с опросами.

Хорошее объяснение. Хотя я обнаружил небольшую ошибку: если с опросом не связаны никакие пресеты или сцены, соответствующий счетчик равен NULL, а не нулю. Не подскажете, как это исправить? — Михаил

О, и это не баг. Вот как работает левое соединение, подставляя нули для каждого запрошенного столбца, когда не удается найти соответствующую строку. — Никола Марковинович

Ницца. Жаль, что это не работает в EntityDataSource. Но это другой вопрос. Спасибо еще раз. — Михаил

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *