Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
8 / 8 / 3
Регистрация: 18.04.2014
Сообщений: 56
MS SQL

Запрос к двум таблицам с подсчетом полей

15.01.2016, 13:57. Показов 896. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот такой запрос

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT 
    `realty`.`realty_id`, 
    `realty`.`name`, 
    `realty`.`square`,
    COUNT(`calls`.`direction`)
    
FROM
    `realty` 
LEFT JOIN 
    `calls` 
ON 
    `realty`.`id` = `calls`.`realty_id`
WHERE 
    `building_id` = "ad2010fc-cd64-45e2-1efb-56540a4811ac" 
    AND
    `realty`.`deleted` = 0
GROUP BY `realty`.`realty_id`;

`calls`.`direction` бывает Inbound и Outbound. Нужно отобразить в одном столбце количество Inbound, а во втором количество Outbound напротив каждой записи. Спасибо.

Добавлено через 47 минут
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT 
    `realty`.`realty_id`, 
    `realty`.`name`, 
    `realty`.`square`,
    COUNT(`calls`.`direction`)
FROM
    `realty` 
LEFT JOIN 
    `calls` 
ON 
    `realty`.`id` = `calls`.`realty_id` AND `calls`.`direction` = 'Outbound'
WHERE 
    `building_id` = "ad2010fc-cd64-45e2-1efb-56540a4811ac" 
    AND
    `realty`.`deleted` = 0
GROUP BY `realty`.`realty_id`;
Вот так показывает количество Outbound. Нужно еще количество Inbound. Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2016, 13:57
Ответы с готовыми решениями:

Запрос к двум таблицам
Помогите исправить запрос: SELECT Sotrudnik.id_sotr, Sotrudnik.familia, Sotrudnik.imea,; Sotrudnik.otchestvo, Sotrudnik.s_pasporta,...

Запрос к двум таблицам
Такая проблемка, есть 2 таблицы: t1: c столбцами id,n2,n3,n4,n5 t2: c столбцами n0,id,d1 нужно вывести id,n2,n3,n4,n5 с й табл и d1...

Запрос по двум таблицам
Здравствуйте, помогите пожалуйста составить запрос по двум таблицам, у них одинаковые (Id,name,number) и вычесть одинаковые name и...

5
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
15.01.2016, 14:03
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT 
    `realty`.`realty_id`, 
    `realty`.`name`, 
    `realty`.`square`,
    COUNT(co.`direction`) OB,
    COUNT(ci.`direction`) IB
FROM
    `realty` 
LEFT JOIN 
    `calls` co
ON 
    `realty`.`id` = co.`realty_id` AND co.`direction` = 'Outbound'
LEFT JOIN 
    `calls` ci 
ON 
    `realty`.`id` = ci.`realty_id` AND ci.`direction` = 'Inbound'
WHERE 
    `building_id` = "ad2010fc-cd64-45e2-1efb-56540a4811ac" 
    AND
    `realty`.`deleted` = 0
GROUP BY `realty`.`realty_id`;
Да?
1
8 / 8 / 3
Регистрация: 18.04.2014
Сообщений: 56
15.01.2016, 14:52  [ТС]
Оно. Благодарю.

Добавлено через 35 минут
Вот сюда:

SQL
1
2
3
4
WHERE 
    `building_id` = "ad2010fc-cd64-45e2-1efb-56540a4811ac" 
    AND
    `realty`.`deleted` = 0
Могу добавить:

SQL
1
2
3
4
5
6
WHERE
    `building_id` = '".$buildings->id."'
    AND
    `realty`.`deleted` = 0
    AND
    `calls`.`deleted` = 0
?

Добавлено через 2 минуты
Пишет

SQL
1
ERROR 1054 (42S22): UNKNOWN COLUMN 'calls.deleted' IN 'where clause'
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
15.01.2016, 15:57
Цитата Сообщение от PticaOgnennaya Посмотреть сообщение
Пишет
Ну так я в подсказке дала алиасы. Вот их и пиши:
SQL
1
2
3
4
5
6
7
8
WHERE
    `building_id` = '".$buildings->id."'
    AND
    `realty`.`deleted` = 0
    AND
    co.`deleted` = 0
    AND
    ci.`deleted` = 0
0
8 / 8 / 3
Регистрация: 18.04.2014
Сообщений: 56
15.01.2016, 17:03  [ТС]
Теперь кроме
SQL
1
Empty SET (0.02 sec)
Ничего не пишет.

Добавлено через 53 минуты
Вот так заработало

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT 
    `realty`.`realty_id`, 
    `realty`.`name`, 
    `realty`.`square`,
    COUNT(co.`direction`) OB,
    COUNT(ci.`direction`) IB
FROM
    `realty`
LEFT JOIN 
    `calls` co
ON 
    `realty`.`id` = co.`realty_id` 
    AND co.`direction` = 'Outbound'
    AND `co`.`deleted` = 0
LEFT JOIN 
    `calls` ci 
ON 
    `realty`.`id` = ci.`realty_id` 
    AND ci.`direction` = 'Inbound'
    AND `ci`.`deleted` = 0
WHERE 
    `building_id` = "ad2010fc-cd64-45e2-1efb-56540a4811ac" 
    AND
    `realty`.`deleted` = 0
GROUP BY `realty`.`realty_id`;
Добавлено через 1 минуту
Я так понимаю, что после WHERE это только к таблице во FROM относится?
0
8 / 8 / 3
Регистрация: 18.04.2014
Сообщений: 56
08.02.2016, 11:39  [ТС]
Как показала практика запросы составлены не верно. Вопрос остается открытым
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2016, 11:39
Помогаю со студенческими работами здесь

Запрос по двум таблицам, подскажите!
Доброй ночи! Нуждаюсь в помощи по созданию запроса! Запрос: По каждом типу товара выдать самый дорогой товар. БД содержит две...

SQL-запрос к двум таблицам
Коллеги, подскажите как правильно написать запрос к БД Access, чтобы из двух таблиц получить третью. Пример в прикрепленном файле. ...

Сгруппировать запрос по двум таблицам
$db->query( "SELECT r.poz as pozic, z.* FROM master_smaemail r LEFT JOIN zakazy z ON r.poz = z.poz"); while($r = $db->get_row()){ ...

Верный запрос к двум таблицам
Есть такое дело. Нужно составить запрос к бд, выполняющий некоторые условия: - имеются две таблицы. Их нужно связать первая.id =...

Запрос к двум таблицам в Mysql
Здравствуйте! Подскажите, пожалуйста, как можно написать запрос, чтобы выбиралось сначала из одной таблицы id по условию, а потом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru