|
|
|
| Есть 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 | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: cheops
(23.03.2011 в 20:51)
| | Ребята, не выходит....запрос пытался модифицировать, но появляются ошибки | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 12:09)
| | 1. Что за ошибки?
2. Как выглядит запрос сейчас? | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 12:15)
| | Немного изменился вопрос...нужно подсчитать кол-во записей в таблице 1 пройдясь по таблице 2, если их связывает поле fil= fil | |
|
|
|
|
|
|
|
для: 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)
|
| |
|
|
|