SELECT * FROM $table WHERE row<=$max AND row>=$min

shaelf

Guest
SELECT * FROM $table WHERE row<=$max AND row>=$min

$table = ('table1,table2,table3');
$max = 100;
$min = 1;
Это примерное содержание этих переменных. Хочу оргонизовать поиск по нескольким таблицам. Помогите с запросом плз.
ЗЫ хотя и глупо, но запрос вида SELECT * FROM $table WHERE $table.row<=$max AND $table.row>=$min пробывал и не получилось:(.
 

DimbIch

Новичок
прально не получиться......
SELECT * FROM table1,table2,table3 WHERE table1,table2,table3.row<=$max AND table1,table2,table3.row>=$min

вот как выглядит твой запрос... подумай где ошибка.....

сделай три запросы в цикле.....
проще будет.....
я не силен в сложном SQL - может мона как то через один запрос...
но я бы сделал 3 на кажду таблицу
 

shaelf

Guest
Мдяя..., хотел попроще видать не получиться:(. Спасибо, буду пробывать....... Ошибку я вижу SELECT * FROM table1, table2 WHERE table1.row<=$max AND table2.row>=$min, вот так будет правильно, просто понимаешь, там будет не 3, а около 30 таблиц:(.
 

alpine

Новичок
>> ЗЫ хотя и глупо, но запрос вида SELECT * FROM $table WHERE $table.row<=$max AND $table.row>=$min пробывал и не получилось
Ман не пробовал читать? JOIN
>> просто понимаешь, там будет не 3, а около 30 таблиц
Позволь узнать, что ты там такое городишь?
 

shaelf

Guest
Есть база, там около 60 - 65 таблиц, каждая таблица отвечает за 1 фирму, в свою очередь фирмы деляться на 4 кат. вот. Я хочу сделать поиск по ценам типа мин. цена и максимальная. Выглядет примерно так
PHP:
$seria1=('table1,table2,table3, etc....');
$seria2=('table21,table22,table23, etc....');
$seria3=('table31,table32,table33, etc....');
$seria4=('table41,table52,table53, etc....');
SELECT * FROM $table WHERE $table.row<=$max AND $table.row>=$min
вот примерно так, ну и в $min и $max соотвественно максимальная и минимальна цена. По поводу знания мускула..., да он не то что хромает, он просто инвалид:) и его изучением я потихоньку и занимаюсь в свободное от работы время и сейчас наткнулся вот на такие грабли:(. Можно конечно сделать что то типа того SELECT * FROM table1, table2 WHERE table1.row<=$max AND $table1.row>=$min etc..., но мне кажеться есть решения попроще и дело не в моей лени, просто я уверен , что мне это делать не в последний раз и я хочу найти самое короткое решение. Помогите если сможете.
ЗЫ Ман сейчас изучаю, точнее книжку "MySQL" автор Поль Дюбуа.
 

alpine

Новичок
shaelf
Если у тебя таблицы идентичные и MySQL >= 4.0.0
то покури ман по UNION
Должно подойти мне кажется.
 

DimbIch

Новичок
shaelf
а ты извращенец ...
если фирмы имеют одинаковые критерии...
то можно ВСЕ фирмы внести в одну таблицу и не париться.....
подумай получше над структурой базы .....
 

shaelf

Guest
2 DimbIch Я это уже понял, но править и перебивать ~5000 наиминований мне не улыбаеться из-за поиска, я опять буду делать через одно место, задумка впринц не плохая и имеет право на существование:)
2 alpine пороюсь, посмотрю, но это скорее на будующее, т.к. придёться делать немного по другому..
 
Сверху