Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Многотабличный запрос (http://www.flasher.ru/forum/showthread.php?t=80104)

cosmo 22.05.2006 12:53

Многотабличный запрос
 
Хочу поиск сделать :) Поиск осуществляется по 2 таблицам. Сначала хотел сделать так - делаю запрос к одной - записываю в массив, потом к другой и вы тот-же массив добавляю, но возникают след проблемы - во первых имена полей разные, а во вторых(самых важных) у меня так-же идет разделение на страницы поиска. Т.е. допустим если мне нужно на странице 10 результатов, можно предположить что юберем 5 из одной и 5 из другой, но в одной может быть 1 и тогда все "рушится". тогда решил сделать многотабличный запрос, но честно говря еще не силен в них. Не подскажете как лучше замутить?

Вот пример делал - но он не то вводит почему то :(
Код:

select pages.text, pages.anchor, articles.id, articles.text from pages, articles where pages.text LIKE '%interpro%' or articles.text LIKE '%interpro%';
Мысль такая, но к сожалению не робит :(

Помогите плиз

Skubent 22.05.2006 14:04

Вообще-то запрос из нескольких таблиц - это связывание таблиц и нехило бы иметь правило связывания.

cosmo 22.05.2006 14:50

Не знаю что такое связывание возможно:

Смысл такой. Нужно из таблицы articles выбрать все значения id,text в поле text которых бы всречалась фраза (interpro) и из таблицы pages выбрать все значения text,anchor в поле text которых бы всречалась фраза (interpro). Потом это все надо представить одним запросом чтобы все вместе пропарсить

Надеюсь то?

Skubent 22.05.2006 15:36

У тебя таблица artticles никак не привязана к pages.

cosmo 22.05.2006 15:52

Нет. Просто нужно из 2 таблиц одновременно выборку делать

Samodelkin 22.05.2006 19:53

Если у тебя эти таблицы не связанны, то я даже смутно себе не могу представить как это можно сделать одним запросом. :)

Skubent 22.05.2006 21:34

Цитата:

Сообщение от cosmo
Нет. Просто нужно из 2 таблиц одновременно выборку делать

Нет. Просто нужно теорию почитать.

styx 22.05.2006 21:47

(select pages.text, pages.anchor, 0 as id from pages where pages.text LIKE '%interpro%')
union
(select articles.text, '' as anchor, articles.id from articles where articles.text LIKE '%interpro%');

cosmo 22.05.2006 21:54

2 styx: А разве union в MySQL робит? У меня вроде не получаются через него

2 Skubent: И что в теории говорится? ;-) У меня есть книжка, но я так и не нашел ничего подходящего :(

Skubent 22.05.2006 21:56

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


Часовой пояс GMT +4, время: 15:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.