Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Двухтабличный запрос: поиск компании по телефону её филиала
 
 автор: OLi   (23.03.2011 в 20:42)   письмо автору
 
 

Есть 2 таблицы.
Одна tb1 - фирмы
Вторая tb2 -филиалы фирмы
Связь между ними по полям: в tb1 это поле fil в tb2 это поле filials
Если file=1 и filials=1 то филиал относится к компании из таблицы tb1 - думаю понятно...
В tb1 и tb2 есть так же поле tel
Необходимо составить запрос с like по поиску телефона из таблицы tb1 и tb2 но пи этом в результате выводить запись из таблицы tb1 если было найден телефон в филиалах компании ..
Немного запутанно...
Пример
tb1                tb2
____           _____
titl tel fil      id filials   tel
1  44  1     2      1        33  
Слово для поиска -33, выполняется запрос, находит из таблицы tb2 но возвратить должен titl из tb1 по связи fil=filials

  Ответить  
 
 автор: cheops   (23.03.2011 в 20:51)   письмо автору
 
   для: OLi   (23.03.2011 в 20:42)
 

Можно начать отталкиваться от следующего запроса
SELECT
  tb1.titl AS titl,
  tb1.tel AS tel,
  tb2.tel AS fil
FROM
  tb2 JOIN tb1
  ON tb2.filials = tb1.fil AND tb2.tel LIKE '%33%'
GROUP BY tb1.titl

  Ответить  
 
 автор: OLi   (26.03.2011 в 12:09)   письмо автору
 
   для: cheops   (23.03.2011 в 20:51)
 

Ребята, не выходит....запрос пытался модифицировать, но появляются ошибки

  Ответить  
 
 автор: cheops   (26.03.2011 в 12:15)   письмо автору
 
   для: OLi   (26.03.2011 в 12:09)
 

1. Что за ошибки?
2. Как выглядит запрос сейчас?

  Ответить  
 
 автор: OLi   (18.04.2011 в 01:23)   письмо автору
 
   для: cheops   (26.03.2011 в 12:15)
 

Немного изменился вопрос...нужно подсчитать кол-во записей в таблице 1 пройдясь по таблице 2, если их связывает поле fil= fil

  Ответить  
 
 автор: cheops   (18.04.2011 в 01:31)   письмо автору
 
   для: OLi   (18.04.2011 в 01:23)
 

Можно начать отталкиваться от следующего запроса
SELECT COUNT(tb1.titl) AS total
FROM tb2 JOIN tb1 USING(fil)
В конструкцию COUNT(tb1.titl) подставляйте тот столбец, который уникальный, если уникальность его не выдерживается из-за многотабличного запроса, можно добавить ключевое слово DITINCT
SELECT COUNT(DITINCT tb1.titl) AS total
FROM tb2 JOIN tb1 USING(fil)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования