Forum Webscript.Ru

Программирование => PHP => Тема начата: ChRome от 20 Ноября 2004, 13:54:53

Название: Сортировка из MySQL
Отправлено: ChRome от 20 Ноября 2004, 13:54:53
В общем как можно рассортировать данные в таблицу если рассортировать нужно по результатам данных в другой таблице? например,
есть таблица в ней есть пункт город, но в нём указана только цифра , например 2, в другой таблице есть имя этой цифры, то есть 2 == Москва.
или есть таблица, но мы должны получить цифры суммировав данные из другой таблицы.. ?! Кто-нибудь сталкивыался с таким делом? Очень нужно... помогите , какие вообще есть мысли?!
Спасибо!
Название: Сортировка из MySQL
Отправлено: Forza от 20 Ноября 2004, 15:34:53
Цитировать
ChRome:
есть таблица в ней есть пункт город, но в нём указана только цифра , например 2, в другой таблице есть имя этой цифры, то есть 2 == Москва.

Попробуй что-нибудь типа SELECT * FROM t1, t2 WHERE t1.digit = t2.digit ORDER BY t2.cityname;
Цитировать
ChRome:
или есть таблица, но мы должны получить цифры суммировав данные из другой таблицы.. ?! Кто-нибудь сталкивыался с таким делом? Очень нужно... помогите , какие вообще есть мысли?!

Ничего не понял.
Название: Сортировка из MySQL
Отправлено: ChRome от 20 Ноября 2004, 16:34:01
насчёт первого всё отличноь работает, только вот беда какая,
в этих разных таблицах попадаются одинаковые столбцы, и в одном и другом случае есть столбцы id и name и при выборке он выбирает данные из таблицы t2 а мне нужно чтобы он из t1 выбирал , как его заставить? Или придётся менять названия столбцов... что очень не желательно...

А насчёт второго, проще говоря есть столбцы в таблице r1 , r2 , r3 в них разные значения предположим 1 , 8 , 4 мне нужно из этого всего выделить самую максимальную или самую минимальную цифру... такое возможно?
Название: Сортировка из MySQL
Отправлено: Меняздесьдавнонет от 20 Ноября 2004, 16:49:41
Цитировать
ChRome:
и при выборке он выбирает данные из таблицы t2

мне кажется, что это гон.
какую таблицу указываешь - из той и выбирает
Название: Сортировка из MySQL
Отправлено: Forza от 20 Ноября 2004, 17:07:18
Цитировать
ChRome:
в этих разных таблицах попадаются одинаковые столбцы, и в одном и другом случае есть столбцы id и name и при выборке он выбирает данные из таблицы t2 а мне нужно чтобы он из t1 выбирал , как его заставить?

Пиши в запросе имя столбца в виде: имя_таблицы.имя_столбца.
Название: Сортировка из MySQL
Отправлено: Меняздесьдавнонет от 20 Ноября 2004, 18:40:36
Forza
вообще-то, без такого написания у него бы вообще запрос не выполнился.
а он пишет, что выбирается.
Название: Сортировка из MySQL
Отправлено: Forza от 20 Ноября 2004, 19:37:01
RomikChef, я думаю, у него может быть SELECT *, а далее в скрипте обращение к столбцам по имени. Тут-то ненужные столбцы и отдаются.

Цитировать
ChRome:
А насчёт второго, проще говоря есть столбцы в таблице r1 , r2 , r3 в них разные значения предположим 1 , 8 , 4 мне нужно из этого всего выделить самую максимальную или самую минимальную цифру... такое возможно?

Подумал, я над этим примером и решил, что в принципе возможно: например, с помощью использования вложенных функций IF(). Но насколько это будет оптимально, я не знаю, т.к. в этом случае надо MAX() для одного и того же столбца несколько раз вызывать. Проще получить от БД максимальные значения для всех столбцов, а потом их сравнить скриптом.
Название: Сортировка из MySQL
Отправлено: ChRome от 21 Ноября 2004, 10:45:24
Forza :

$result = mysql_db_query("$db","SELECT * FROM t1,t2 WHERE t1.city=city.id AND t1.active=\'y\' ORDER BY city.name ASC");

Вот при таком раскладе он выдёт два параметра из таблицы t2 а остальное выдаёт из t1 ...

А насчёт второгоя так и предпалагал, просто подумал вдруг другие варианты есть...