Помощник
|
Помогите объединить 2 запроса... |
mangal
|
Сообщение
#1
|
||
|
|
||
|
|||
Electric |
21.12.2011, 20:12;
Ответить: Electric
Сообщение
#2
|
|
По идеи так:
$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 |
21.12.2011, 20:28;
Ответить: x64
Сообщение
#3
|
|
объединением занимается оператор UNION
при этом нужно учесть, что оба селекта должны возвращать одинаковое количество рядов (не строк!) одинакового типа чтобы понятнее было: SELECT field1, field2, field2 FROM table1 UNION SELECT field4, field5, field6 FROM table2 |
|
|
mangal
|
Сообщение
#4
|
|
Electric не помогло... нечего не выводит
х64 как надо делать можете сделать??? |
|
|
misha111 |
22.12.2011, 18:14;
Ответить: misha111
Сообщение
#5
|
|
|
Здравствуйте помогите пожалуйста объединить 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 -------------------- покупка itunes gift card |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 730 | 21.2.2024, 23:42 автор: Mixatraider |
|
Помогите рещить проблему с монитором. Почему низкое разрешение при подключении монитора через displayport? |
0 | Levels | 1702 | 11.12.2020, 0:48 автор: Levels |
|
Помогите кто нибудь получить партнерку Росбанк! | 7 | heisenberg_mw | 2344 | 7.8.2020, 9:28 автор: heisenberg_mw |
|
Помогите найти тему пожалуйста | 7 | virtas | 12529 | 24.7.2020, 17:02 автор: -JamesSmips- |
|
Помогите с поиском доноров | 3 | tehno_music | 3359 | 4.11.2019, 17:15 автор: goblin78 |
Текстовая версия | Сейчас: 25.4.2024, 3:07 |