Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SQL?

28K
04 сентября 2010 года
Maximuz
29 / / 01.03.2008
Есть код:

Код:
if (!isset($_SESSION[s_name]) && !isset($_SESSION[s_fio])) { $sql="select * FROM clients order by Дата_обр DESC";}
else {
$sql="SELECT *  FROM clients WHERE";
if (isset($_SESSION[s_fio])) {$sql=$sql." КЛ1_ФИО LIKE '%$_SESSION[s_fio]%'";}
if (isset($_SESSION[s_name])){$sql=$sql." and Название LIKE '%$_SESSION[s_name]%'";}
if ($_SESSION[s_y]<>'%' or $_SESSION[s_m]<>'%'){
$in_sql="SELECT cl_id FROM orders WHERE Дата Like '%.$_SESSION[s_m].$_SESSION[s_y]%'";
$sql=$sql." and id IN ($in_sql)";}
$sql=$sql." ORDER BY id DESC";

}


Работает...
Но было бы лучше если бы всё это дело сортировалось не по id из таблицы clients а по id из таблицы orders.
На данный момент SQL примерно такой:

SELECT * FROM clients WHERE КЛ1_ФИО LIKE '%%' and Название LIKE '%%' ORDER BY id DESC

и SQL для счётчика: SELECT Count(*) FROM clients WHERE КЛ1_ФИО LIKE '%%' and Название LIKE '%%'.

Вопрос: как будут выглядеть обе эти SQL что б выполнялась поставленная задача.

P.S. Пробовал сам сделать но по-чему выдавал кашу. "не много отсортированную"
2
04 сентября 2010 года
squirL
5.6K / / 13.08.2003
Цитата: Maximuz

Вопрос: как будут выглядеть обе эти SQL что б выполнялась поставленная задача.


вопрос неправильный.
правильно будет - удалить весь поток сознания и дать сюда:
1. структуры таблиц
2. ожидаемый результат - что вы, в конечном итоге хотите получить

28K
04 сентября 2010 года
Maximuz
29 / / 01.03.2008
Хорошо. Есть две таблицы. Клиенты и заказы. Связаны они таки образом: в таблице заказы имеется поле содержащие айди клиента сделавшего заказ. На странице выводятся клиенты в том порядке в котором они зарегистрировались. А надо чтоб выводились в том порядке, в котором они делали заказы.
13
05 сентября 2010 года
RussianSpy
3.0K / / 04.07.2006
 
Код:
SELECT userid, orderid FROM orders o LEFT JOIN users u ON u.userid=o.userid


Примерно как-то так
2
05 сентября 2010 года
squirL
5.6K / / 13.08.2003
только ORDER BY добавить еще...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог