[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 2а sql запроса, можно ли?
tmt0086
подскажите как сделать два запроса в одном.. дело вот в чем, имею два запроса
$res=do_sqlquery("select *  FROM files");
$res=do_sqlquery("select * FROM users");

вот как сделать, чтобы один был.. smile.gif
вот так прокатит?!
$res=do_sqlquery("select *  FROM files; select *  FROM users");




Спустя 1 минута, 24 секунды (11.08.2010 - 17:15) Lenarfate написал(а):
$res=do_sqlquery("select *  FROM files, users");

Спустя 6 минут, 29 секунд (11.08.2010 - 17:21) waldicom написал(а):
Цитата (Lenarfate @ 11.08.2010 - 16:15)
$res=do_sqlquery("select *  FROM files, users");

Ты представляешь, что получится в итоге?

Спустя 3 минуты, 18 секунд (11.08.2010 - 17:24) Lenarfate написал(а):
Цитата
Ты представляешь, что получится в итоге?

да, выборка

Спустя 6 минут, 46 секунд (11.08.2010 - 17:31) tmt0086 написал(а):
Lenarfate
это тоже как вариант, но он мне не подходит sad.gif ..
запросы если точнее быть вот такие
$res=do_sqlquery("select count(*) as tot, sum(seeds) as seeds, sum(leechers) as leechs  FROM files");
$res=do_sqlquery("select sum(downloaded) as dled, sum(uploaded) as upld FROM users",true);

может можно как то по другому? rolleyes.gif

Спустя 1 минута, 8 секунд (11.08.2010 - 17:32) waldicom написал(а):
Цитата (Lenarfate @ 11.08.2010 - 16:24)
Цитата
Ты представляешь, что получится в итоге?

да, выборка

Получится декартово произведение множеств, а не выборка.

Спустя 57 секунд (11.08.2010 - 17:33) Lenarfate написал(а):
точно так же. только таблицу и базу ставишь через точку. т.е. table.base для каждой таблицы

Спустя 22 секунды (11.08.2010 - 17:34) waldicom написал(а):
Цитата (tmt0086 @ 11.08.2010 - 16:31)
это тоже как вариант, но он мне не подходит sad.gif ..

Это не вариант

Цитата (tmt0086 @ 11.08.2010 - 16:31)
запросы если точнее быть вот такие
$res=do_sqlquery("select count(*) as tot, sum(seeds) as seeds, sum(leechers) as leechsFROM files");
$res=do_sqlquery("select sum(downloaded) as dled, sum(uploaded) as upld FROM users",true);
может можно как то по другому? rolleyes.gif


можно UNION, а можно и в два запроса.
Чем два запроса не устраивают?

Спустя 28 секунд (11.08.2010 - 17:34) Lenarfate написал(а):
waldicom
не знаю, всегда норм работало

Спустя 1 минута, 10 секунд (11.08.2010 - 17:35) tmt0086 написал(а):
waldicom
пытаюсь уменьшить генерацию страницы smile.gif

Спустя 51 секунда (11.08.2010 - 17:36) waldicom написал(а):
Цитата (Lenarfate @ 11.08.2010 - 16:34)
waldicom
не знаю, всегда норм работало

Ок, тогда смотри:
таблица А имеет 10 строк (записей), таблица Б имеет 10 строк (записей).

select * from A возвращает 10 строк (потому что *)
select * from B возвращает 10 строк (потому что *)

теперь вопрос:
сколько строк мы получим в результате запроса
select * from A,B


варианты ответов:
1. 0
2. 10
3. 20
4. 100
5. будет ошибка

Спустя 17 секунд (11.08.2010 - 17:36) tmt0086 написал(а):
Lenarfate
нет, ты не прав smile.gif он перемножает или че то делает, но результат другой выходит 100%.. я тока что проверил

Спустя 8 минут, 51 секунда (11.08.2010 - 17:45) Lenarfate написал(а):
а так правильно?

SELECT table1.*, table2.*

для себя хочу точно знать

Спустя 3 минуты, 13 секунд (11.08.2010 - 17:48) Basili4 написал(а):
Lenarfate
Такая же песнь будет

Спустя 2 минуты, 20 секунд (11.08.2010 - 17:51) tmt0086 написал(а):
тоесть никак нельзя? sad.gif

Спустя 1 минута, 32 секунды (11.08.2010 - 17:52) Basili4 написал(а):
tmt0086
только по порядку. в цикле

Спустя 1 минута, 26 секунд (11.08.2010 - 17:54) tmt0086 написал(а):
Basili4 щас почитаю как это в цикле)) вот один пока вопрос, в цикле если делать, то это как 1 запрос считаться будет?

Спустя 3 минуты, 44 секунды (11.08.2010 - 17:57) Basili4 написал(а):
tmt0086
Счего это ? два

первый отработал вернулись результаты 2 отработал вернулись

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

Спустя 12 минут, 4 секунды (11.08.2010 - 18:10) tmt0086 написал(а):
Basili4 хм.. понятно wink.gif
слушай, а вот вопросик не по теме)) можно ли результат запроса в файл записать, а потом оттуда считывать, кэш типа, тока у меня пока мозгов не хватает как сделать такое..

Спустя 1 минута, 28 секунд (11.08.2010 - 18:11) Basili4 написал(а):
tmt0086
влет
Select * form table1 into outfile 'D:\\asdasdsad\\qwqweeq\\ee.txt';

Спустя 6 минут, 32 секунды (11.08.2010 - 18:18) waldicom написал(а):
Цитата (Basili4 @ 11.08.2010 - 17:11)
tmt0086
влет
Select * form table1 into outfile 'D:\\asdasdsad\\qwqweeq\\ee.txt';

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

Спустя 32 секунды (11.08.2010 - 18:18) tmt0086 написал(а):
Basili4
подожди подожди.. тоесть он с помощью into outfile записывает тока результат? и как, потом норм считывает biggrin.gif щас попробую, спасибо огромное

Спустя 31 секунда (11.08.2010 - 18:19) tmt0086 написал(а):
waldicom
почему один?

Спустя 37 секунд (11.08.2010 - 18:19) Basili4 написал(а):
waldicom
ну если файл не убивать перед использование то да. если он будет существовать то туда уже ничто не допишется не перепишется

Спустя 14 секунд (11.08.2010 - 18:19) waldicom написал(а):
Цитата (tmt0086 @ 11.08.2010 - 17:19)
waldicom
почему один?

Такая конструкция не может переписывать файлы.

Спустя 2 минуты, 9 секунд (11.08.2010 - 18:22) tmt0086 написал(а):
ну можно же какой нить файл килл поставить smile.gif допустим чтобы каждые пять минут убивал, если есть конечно.. а эта конструкция создает файл или редактирует?

Спустя 1 минута, 42 секунды (11.08.2010 - 18:23) Basili4 написал(а):
tmt0086
надо перед использованием этого запроса делать unlink файлу если он есть и все

Спустя 16 секунд (11.08.2010 - 18:24) waldicom написал(а):
Цитата (tmt0086 @ 11.08.2010 - 17:22)
ну можно же какой нить файл килл поставить smile.gif допустим чтобы каждые пять минут убивал, если есть конечно.. а эта конструкция создает файл или редактирует?

Создает. Достаточно проверки file_exists()
Но если уж большой приток людей, то используйте уж нормальные средства для кэширования

Спустя 43 секунды (11.08.2010 - 18:24) waldicom написал(а):
Цитата (Basili4 @ 11.08.2010 - 17:23)
tmt0086
надо перед использованием этого запроса делать unlink файлу если он есть и все

А смысл кеширования тогда в чем? smile.gif

Спустя 2 минуты, 1 секунда (11.08.2010 - 18:26) Basili4 написал(а):
waldicom
ну нет желания делать запрос лезешь в файл, есть убил файл сделал запрос.

Спустя 3 минуты, 52 секунды (11.08.2010 - 18:30) tmt0086 написал(а):
waldicom
а какие нормальные средства кэширования? подскажите плз smile.gif

Спустя 33 минуты, 48 секунд (11.08.2010 - 19:04) tmt0086 написал(а):
Basili4
into outfile '/cache/1/1.txt' че то ошибку выдает(( подскажите пожалуйста.. вот как написал
  $res = do_sqlquery("SELECT * FROM bannedip into outfile '/cache/1/1.txt' WHERE INET_ATON('".$ip."') >= first AND INET_ATON('".$ip."') <= last LIMIT 1;") or sqlerr(__FILE__, __LINE__);

Спустя 13 минут, 10 секунд (11.08.2010 - 19:17) Basili4 написал(а):
tmt0086
$res = do_sqlquery("SELECT * FROM bannedip WHERE INET_ATON('".$ip."') >= first AND INET_ATON('".$ip."') <= last LIMIT 1 into outfile '$path\\cache\\1\1.txt' ") or sqlerr(__FILE__, __LINE__);
$path - это путь от диска
Нужен абсолютный путь

Спустя 16 минут, 59 секунд (11.08.2010 - 19:34) tmt0086 написал(а):
Basili4
все таже фигня((( не хочет нивкакую.. blink.gif а других способов нету? типа как в переменную записать, а потом ее обновлять, что то типа этого..

Спустя 8 минут, 59 секунд (11.08.2010 - 19:43) Basili4 написал(а):
tmt0086
может дело в запросе попробуй чтонибудь простое в файл записать
и еще я тут накосячил
\\cache\\1\\1.txt так попробуй

Спустя 2 минуты, 49 секунд (11.08.2010 - 19:46) tmt0086 написал(а):
хорошо, щас че нить попроще возьму опробую wink.gif отпишу


_____________
Продаю людей. Дешего. Писать в ПС
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.