powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / БД фирм
2 сообщений из 2, страница 1 из 1
БД фирм
    #32365518
Автор Guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
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.
26.
27.
28.
29.
30.
#
# Table structure for table 'firms'
#

CREATE TABLE  /*!32300 IF NOT EXISTS*/  firms (
  IDFirm int( 3 )  autoincrement,
  FirmName varchar( 250 ) 
);



#
# Table structure for table 'groupworks'
#

CREATE TABLE  /*!32300 IF NOT EXISTS*/  groupworks (
  IDGroupWorks int( 3 )  autoincrement,
  IDFirm int( 10 ) unsigned ,
  GroupWorksName varchar( 250 ) 
);


#
# Table structure for table 'works'
#

CREATE TABLE  /*!32300 IF NOT EXISTS*/  works (
  IDWorks int( 3 ) autoincrement ,
  WorkName varchar( 250 ) ,
  IDGroupWorks int( 10 ) unsigned 
);


Мужики, есть такая БД фирм
вторая таблица группы форм деятельности фирм (например, продажа, обслуживание)
третья таблица - сами формы деятельности (например, Продажа елочных украшений, Обслуживание ксероксов)

теперь далее, интерфейс выполнен в виде пхп-шной странички.

Юзер вводит в строке поиска, например "продажа"

Теперь собственно вопрос, необходимо выполнить выборку из БД по всем текстовых полям приведенных выше таблиц
WorkName varchar(250) ,
GroupWorksName varchar(250)
FirmName varchar(250)

и выдать полученные результаты в виде таблицы


Помогите причесать запрос и привести его к нормальному виду с использованием операнда JOIN
Код: plaintext
1.
2.
3.
4.
5.
select * from works, groupworks, firms where
works.IDGroupWorks=groupworks.IDGroupWorks and 
firms.IDFirm=groupworks.IDFirm and
((WorkName like '%продажа%') or 
(GroupWorksName like '%продажа%') or 
(FirmName like '%продажа%' ))
...
Рейтинг: 0 / 0
БД фирм
    #32369169
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то так?!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT * FROM works w
  LEFT JOIN groupworks gw ON w.IDGroupWorks = gw.IDGroupWorks
  LEFT JOIN firms f ON gw.IDFirm = f.IDFirm
WHERE
(
  (w.WorkName LIKE '%продажа%')
  OR
  (gw.GroupWorksName LIKE '%продажа%')
  OR
  (f.FirmName LIKE '%продажа%' )
)

mahoune
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / БД фирм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]