|
|
|
| Я пробую так
<?
sql_query("select ids from zapis order by id DESC limit 0,10 UNION select cer, cer_t, cer_a FROM chel ORDER BY cer=ids", $dbi);
?>
|
но не работает, может я не так делаю? | |
|
|
|
|
|
|
|
для: dima_s_d_s
(23.02.2007 в 12:15)
| | Не выходит что?
PS Результирующая таблица формируется по первому SELECT-запросу, поэтому второй запрос лучше поставить на первое место. Желательно, чтобы количество полей совпадало - если не совпадает, не достающие поля следует дополнить скалярными значениями. | |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 12:19)
| | А пример можете привести? | |
|
|
|
|
|
|
|
для: dima_s_d_s
(23.02.2007 в 12:20)
| | Как-то так
<?php
$query = " select cer, cer_t, cer_a FROM chel UNION select ids, 0, 0 from zapis ORDER BY cer";
sql_query($query, $dbi);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 14:37)
| | а как мне при этом сделать выборку, вот так не работает:
<?php
$query = " select cer, cer_t, cer_a FROM chel UNION select ids, 0, 0 from zapis where ids=cer ORDER BY cer";
sql_query($query, $dbi);
?>
|
| |
|
|
|
|
|
|
|
для: dima_s_d_s
(23.02.2007 в 15:10)
| | Поле cer во втором запросе из первого? Так не получится, следует прибегать либо к объединеню, либо к вложенному запросу. Объясните на словах, что в таблицах и что сделать хотите? | |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 15:55)
| | Первая таблица со статьями (новостями)
а вторая таблица с комментариями к статьям (новостям)
Нужно вывести заголовки статей (новостей) исходя из последних комментариев. (10 последних комментов)
Так вот, я могу это сделать с помощью двух запросов, а вот как это сделать одним запросом незнаю! | |
|
|
|
|
|
|
|
для: dima_s_d_s
(23.02.2007 в 16:04)
| | Какая из таблиц chel и zapis является первой, а какая второй? Как определяется что комментарий последний? Имеется поле с датой, если да, то как оно называется и в какой таблице расположено? | |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 19:15)
| | Вот например (что-бы не путаться я переименовал)
Таблица news_comment - коменты
- news_comment_id - id коммента
- news_comment_news_id - id новости
- news_comment_date - дата типа (2006-11-10 22:25:48)
Таблица news - новости
- news_id - id новости
- news_title - заголовок новости | |
|
|
|
|
|
|
|
для: dima_s_d_s
(23.02.2007 в 19:26)
| | Тогда можно поступить следующим образом
SELECT news.news_title AS news_title
FROM news, news_comment
WHERE news.news_id = news_comment.news_comment_news_id
GROUP BY news.news_title
ORDER BY news_comment.news_comment_date DESC
LIMIT 10
|
| |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 19:50)
| | Сенкс, всё работает, вот только я не совсем понял код. Например если я захочу ещё вывести id новости, что я должен сделать? | |
|
|
|
|
|
|
|
для: dima_s_d_s
(23.02.2007 в 20:16)
| | Добавляйте расширенные имена столбцов (имя_базы_данных.имя_столбца) через запятую (для удобства можно назначить псевдоним при помощи оператора AS) после ключевого слова SELECT.
SELECT news.news_title AS news_title,
news.news_id AS news_id
FROM news, news_comment
WHERE news.news_id = news_comment.news_comment_news_id
GROUP BY news.news_title
ORDER BY news_comment.news_comment_date DESC
LIMIT 10
|
| |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 22:37)
| | Спасибо за помощь! | |
|
|
|