Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Можно ли составить такой запрос?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ddvhouse
Отправлено: 01 Сентября, 2011 - 15:27:07
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2007  


Помог: 0 раз(а)




БД PostgreSQL

Есть 2 таблицы вида:
1. Ключ (автоинкремент) - Текстовое поле
2. Ключ (автоинкремент) - ключ из первой таблицы - Текстовое поле

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

То есть, если
1 - Вася
2 - Петя
3 - Миша
и
1 - 1 - Кошка
2 - 1 - Собака
3 - 3 - Свинья

то в результате нужно:
0 - 1 (одна запись ни с кем не связана: Петя)
1 - 2 (2 записи имеют связи: Вася-Собака+Кошка, Миша-Свинья)

Это реально взять одним запросом?
 
 Top
White
Отправлено: 01 Сентября, 2011 - 17:37:33
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(`a`.`id`) AS total_number, COUNT(`b`.`table1_id`) AS match_number FROM `table1` AS a LEFT JOIN `table2` AS b ON `b`.`table1_id` = `a`.`id`
  2.  

в результате total_number - общее число записей в первой таблице, match_number - число записей во второй таблице связанных с первой.


-----
if(time()>1356048000) die();
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB