X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите объединить 2 запроса...
mangal
mangal
Topic Starter сообщение 21.12.2011, 16:38; Ответить: mangal
Сообщение #1


Частый гость
**

Группа: User
Сообщений: 59
Регистрация: 12.12.2011
Поблагодарили: 0 раз
Репутация:   0  


Здравствуйте помогите пожалуйста объединить 2 запроса...
$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_week' - INTERVAL 1 WEEK AND date < '$this_week' ORDER BY news_read DESC, comm_num DESC LIMIT 0,50" );

и

$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE news_id='{$row['id']}'" );
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Electric
Electric
сообщение 21.12.2011, 20:12; Ответить: Electric
Сообщение #2


CMS help/antivirus
******

Группа: Active User
Сообщений: 1532
Регистрация: 27.12.2009
Из: Єдина Україна
Поблагодарили: 389 раз
Репутация:   57  


По идеи так:
$db->query( "SELECT " . PREFIX . "_post.id, " . PREFIX . "_post.title, " . PREFIX . "_post.date, " . PREFIX . "_post.alt_name, " . PREFIX . "_post.category, " . PREFIX . "_post.flag, " . PREFIX . "_files.id, " . PREFIX . "_files.name, " . PREFIX . "_files.onserver, " . PREFIX . "_files.dcount  FROM " . PREFIX . "_post, " . PREFIX . "_files WHERE ( " . PREFIX . "_post.approve='1' AND " . PREFIX . "_post.date >= '$this_week' - INTERVAL 1 WEEK AND " . PREFIX . "_post.date < '$this_week' AND " . PREFIX . "_files.news_id='{$row['id']}' ) ORDER BY " . PREFIX . "_post.news_read DESC, " . PREFIX . "_post.comm_num DESC LIMIT 0,50
" );

Проверяйте...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 21.12.2011, 20:28; Ответить: x64
Сообщение #3


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3424
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2746 раз
Репутация:   289  


объединением занимается оператор UNION
при этом нужно учесть, что оба селекта должны возвращать одинаковое количество рядов (не строк!) одинакового типа
чтобы понятнее было:
SELECT field1, field2, field2 FROM table1
UNION
SELECT field4, field5, field6 FROM table2


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mangal
mangal
Topic Starter сообщение 21.12.2011, 22:28; Ответить: mangal
Сообщение #4


Частый гость
**

Группа: User
Сообщений: 59
Регистрация: 12.12.2011
Поблагодарили: 0 раз
Репутация:   0  


Electric не помогло... нечего не выводит

х64 как надо делать можете сделать???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
misha111
misha111
сообщение 22.12.2011, 18:14; Ответить: misha111
Сообщение #5


Частый гость
**


Группа: User
Сообщений: 95
Регистрация: 15.3.2009
Поблагодарили: 4 раза
Репутация:   -2  


(mangal @ 21.12.2011, 16:38) *
Здравствуйте помогите пожалуйста объединить 2 запроса...
$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_week' - INTERVAL 1 WEEK AND date < '$this_week' ORDER BY news_read DESC, comm_num DESC LIMIT 0,50" );

и

$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE news_id='{$row['id']}'" );


Что значит объеденить? - есть оператор (left, right, inner) join если вы хотите насадить одну таблицу на другую.
Но тут непонятно, как вы делаете связки. news_id второй таблици совпадает с id первой?

если да, то можно будет on (A.id=B.news_id)

Вообще вы крайне плохо пишите sql в такой форме, крайне уязвимо для иньекции, навряд вы там выше по коду делаете проверку. Да и плохо читается. Написав в таком виде на форуме явно говорите - "поломайте меня пожалуйста". Надо сначало делать prepare, а потом execute. А до входа проконтролировать содержимое переменных.
К примеру $row['id'] может быть только число, ограниченное сверху и снизу.

Ещё по sql, там есть оператор between - он сократит длинну вашего запроса.

Сообщение отредактировал misha111 - 22.12.2011, 18:23


--------------------
ввод вывод обмен webmoney paypal www.exchanger.biz.ua
покупка itunes gift card
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите выбрать программу
Помогите выбрать программу
11 impak 1334 11.12.2017, 13:11
автор: Mikki
Открытая тема (нет новых ответов) Помогите найти плагин на WP
Отзывы с профилей соц сетей
1 SEOMR 438 30.11.2017, 7:18
автор: Nell
Открытая тема (нет новых ответов) Помогите найти проблему
Долгий ответ сервера
6 maxim1249 688 29.11.2017, 17:27
автор: genjnat
Открытая тема (нет новых ответов) Помогите оценить новотник. Плиз
1 Alex-777 520 29.11.2017, 7:18
автор: grumdas
Открытая тема (нет новых ответов) Помогите с неймингом для сборника советов
советы по разработки и жизни
11 coremission 1880 15.11.2017, 22:23
автор: rogefer


 



RSS Текстовая версия Сейчас: 14.12.2017, 10:39
Дизайн