Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Извлечь одним запросом похожие независимые поля из нескольких таблиц
 
 автор: Eugene77   (25.10.2007 в 17:28)   письмо автору
 
 

У меня есть несколько таблиц содержащих нумерацию строк.
Можно ли одним запросом извлечь какие там номера строк на данный момент остались.
Сразу из всех таблиц.
Что-то в этом роде:


SELECT num AS A, num AS B
FROM `a_forums` , `a_login`


Только так не работает.

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

   
 
 автор: Hamilion   (25.10.2007 в 17:35)   письмо автору
 
   для: Eugene77   (25.10.2007 в 17:28)
 


SELECT t1.num AS A, t2.num AS B
FROM `a_forums` t1 , `a_login` t2

   
 
 автор: Eugene77   (25.10.2007 в 21:46)   письмо автору
 
   для: Hamilion   (25.10.2007 в 17:35)
 

>

>SELECT t1.num AS A, t2.num AS B
>FROM `a_forums` t1 , `a_login` t2
>

Ага.
Спасибо!
Понятно.
Теперь ясно и как минимум или максимум искать в каждой таблице:

$q='SELECT MAX(t1.num) AS A, MAX(t2.num) AS B 
FROM `a_forums` t1 , `a_login` t2';

Дальше пишу:

<?php
  $r 
mysql_query($q);
    
$m mysql_fetch_array($r);
    
$max_a_forums $m['A'];
    
$imax_a_login $m['B'];


Здесь я кажется разобрался.
Но вот пока не могу понять как извлекать результат из первого запроса:

SELECT t1.num AS A, t2.num AS B
FROM `a_forums` t1 , `a_login` t2


Чтобы оба массива были доступны.
Поможете?

   
 
 автор: EXP   (26.10.2007 в 00:45)   письмо автору
 
   для: Eugene77   (25.10.2007 в 21:46)
 

в этих таблицах одинаковое число рядов , которые расчитываете получить ?

   
 
 автор: Eugene77   (26.10.2007 в 20:58)   письмо автору
 
   для: EXP   (26.10.2007 в 00:45)
 

>в этих таблицах одинаковое число рядов , которые расчитываете получить ?

Нет, в таблицах в общем случае разное число рядов.

Хотя, иногда бывает и одинаковое, это может ускорить выполнение запроса?

   
 
 автор: EXP   (26.10.2007 в 21:29)   письмо автору
 
   для: Eugene77   (26.10.2007 в 20:58)
 

Просто так построенный запрос возвратит одинаковое колличество и A и B.
если применить GROUP BY по одному из рядов из него будет выбрано всё , а из другого такое.же колличество рядов, с повторами , если их меньше.
Наверное Вам нужно какое.то условие какие ряды выбирать
или можно выбрать все значения со всех таблиц одним столбцом .

   
 
 автор: Eugene77   (01.11.2007 в 16:16)   письмо автору
 
   для: EXP   (26.10.2007 в 21:29)
 

У меня часто встречается банальная ситуация когда надо построить вложенный
цикл по содержимому двух таблиц.
Я извлекаю их двумя запрсами и два foreach написать остаётся.
Но это часто встречается, хотелось бы оптимизировать как-то, число запросов уменьшить.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования