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

Форум MySQL

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

 

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

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

тема: Двухтабличный запрос
 
 автор: 10100100   (25.03.2007 в 11:53)   письмо автору
 
 

есть две таблички

SOOB:

id | soob | date

ANOTHER:

id | another | date


В каждую из таблиц заносится разная инфа... ничег освязанного нет. в общем нужно в одном запросе (желательно) сделать так чтобы выводились в обратном порядке все данные и выборка стояла бы по дате... у меня никак не получается :(

   
 
 автор: ddhvvn   (25.03.2007 в 12:10)   письмо автору
 
   для: 10100100   (25.03.2007 в 11:53)
 


SELECT * FROM soob ORDER BY 'date' DESC;

   
 
 автор: 10100100   (25.03.2007 в 12:17)   письмо автору
 
   для: ddhvvn   (25.03.2007 в 12:10)
 

ну это то один запрос из одной таблицы, а мне надо из обеих..

   
 
 автор: ddhvvn   (25.03.2007 в 13:01)   письмо автору
 
   для: 10100100   (25.03.2007 в 12:17)
 

Из обеих сразу или по отдельности?

   
 
 автор: 10100100   (25.03.2007 в 13:10)   письмо автору
 
   для: ddhvvn   (25.03.2007 в 13:01)
 

из обеих сразу... извините чт окриво написал...

   
 
 автор: cheops   (25.03.2007 в 13:27)   письмо автору
 
   для: 10100100   (25.03.2007 в 11:53)
 

А результитрующая таблица что должна содержать и как определить какой автор оставил то или иное сообщение?

   
 
 автор: 10100100   (25.03.2007 в 13:54)   письмо автору
 
   для: cheops   (25.03.2007 в 13:27)
 

да не важно где какой автор... мн просто нужно вывести данные из таблиц в хронологическом порядке :) воть :) таблица эта символическая истинная таблица слишком закручена и не имеет смысла её приводить здесь - мне нужно прост осформировтаь запрос который отсортирует данные по времени из обеих таблиц. :)

   
 
 автор: mehelson   (25.03.2007 в 16:03)   письмо автору
 
   для: 10100100   (25.03.2007 в 13:54)
 

Может что-нибудь почерпнете здесь:
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=34757&page=1

   
 
 автор: 10100100   (25.03.2007 в 16:11)   письмо автору
 
   для: mehelson   (25.03.2007 в 16:03)
 

не совсем понял... но буду пробовать. спасибо.

Может кто ещё поможет?

   
 
 автор: 10100100   (25.03.2007 в 18:16)   письмо автору
 
   для: 10100100   (25.03.2007 в 11:53)
 

эм, и всётаки у меня не получается. прошу помощи.

   
 
 автор: Trianon   (25.03.2007 в 21:52)   письмо автору
 
   для: 10100100   (25.03.2007 в 18:16)
 

SELECT * FROM (SELECT id, date as d, soob, 0 as anorher FROM t1
UNION ALL
SELECT id, date as d, 0 as soob, another FROM t2) as T
ORDER BY d

   
 
 автор: 10100100   (26.03.2007 в 05:15)   письмо автору
 
   для: Trianon   (25.03.2007 в 21:52)
 

теперь не могу сделать вывод данных :(
эх- не силён я в таких запросах.

   
 
 автор: Trianon   (26.03.2007 в 09:35)   письмо автору
 
   для: 10100100   (26.03.2007 в 05:15)
 

данные (в этом примере) появятся в полях id, d, soob, another
причем d - это та самая дата, по которой упорядочивали.

   
 
 автор: 10100100   (26.03.2007 в 15:12)   письмо автору
 
   для: Trianon   (26.03.2007 в 09:35)
 

я понимаю, что напрягаю, но могли бы Вы написать вывод этих данных? я уже всяко разно покрутил - н еполучается и всё :( извините за тугодумность.

   
 
 автор: Trianon   (26.03.2007 в 15:30)   письмо автору
 
   для: 10100100   (26.03.2007 в 15:12)
 

<?
$sql 
"SELECT * FROM (SELECT id, date as d, soob, 0 as anorher FROM t1
UNION ALL
SELECT id, date as d, 0 as soob, another FROM t2) as T
ORDER BY d"
;
$res mysql_query($sql) or die('Error in $sq:  ' mysql_error());
echo 
'<table>';
$hd 1;
while(
$row mysql_fetch_assoc($res))
{
    if(
$hd)
    {
        echo 
'<tr>';
            foreach(
$row as $key => $val)
        echo 
"<th>$key</th>";
        echo 
'</tr>';
       
$hd 0;
    }
    echo 
'<tr>';
    foreach(
$row as $val)
        echo 
"<td>$val</td>";
    echo 
'</tr>';
}
echo 
'</table>';

формально и $key и $val перед выводом нужно htmlspecilachar'ить. Но я оставил так. Чисто для наглядности.

   
 
 автор: 10100100   (26.03.2007 в 16:46)   письмо автору
 
   для: Trianon   (26.03.2007 в 15:30)
 

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

   
 
 автор: Trianon   (26.03.2007 в 17:06)   письмо автору
 
   для: 10100100   (26.03.2007 в 16:46)
 


<? 
$sql 
"SELECT * FROM (SELECT id, date as d, soob, 0 as anorher FROM t1 
        UNION ALL 
        SELECT id, date as d, 0 as soob, another FROM t2) as T 
        ORDER BY d"


$res mysql_query($sql) or die('Error in $sq:  ' mysql_error()); 

echo 
'<table><tr><td>id</td><td>d</td><td>soob</td><td>another</td></tr>'

while(
$row mysql_fetch_assoc($res)) 

    
$id $row['id'];    $d $row['d'];    $soob $row['soob'];    $another $row['another'];
     echo 
"<tr><td>$id</td><td>$d</td><td>$soob</td><td>$another</td></tr>\r\n"

echo 
'</table>'


стандартнее некуда....

   
Rambler's Top100
вверх

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