Forum Webscript.Ru
Общие => Базы данных => Тема начата: tarya от 06 Августа 2002, 11:19:26
-
доброе утро.
с вашей помощью вчера сделал такую штуку классную как занесение даных в таблицу через броузер с последующей их сортировкой, но вот встал такой вопрос: у меня сортируется таблица по какому то из столбцов, к примеру - по дате, по региону, по отелю, но вот еще интерисует такая штука: когда я сортирую всю таблицу по отелям то получается что они сортируются в неправильном порядке. пример такой: если у меня в один столбец отсортировались 15 одинаковых отелей то внутри их они в песпорядке по дате. возможно ли - (возможно) сортировать по отелю или как я делаю еще по чему то но еще и по дате внутри их?
помогите сотавить запрос, просто пример а там я разберусь.
спасибо.
-
order by hotels, date
тогда у тебя вначале будет идти сортировка по отелям, а потом по дате.
-
спасибо большое за помощь, как я правильно понял через запятую мона это дело прописывать,....
спасибо
-
а вот еще такой вопрос, если мне нужно к примеру удалить строку из одной таблицы и из другой несколько по одному едентификатору - возможно ли написать запрос одной строкой?
пример: $query = "DELETE from chguest where id=\'$del\' и ....... из такой то таблицы,....";
-
можно, если у тебя версия MySQL 4.0.X
-
MySQL 4.0.X
Пока не на одном хостинге не видел, чтобы стояла 4..Или tarya, можешь занятся pgSQL, она такие вещи поддерживает...
-
Tankist
я думаю появится, как только они ее до беты доведут.
кстати вот сдесь есть пример как это в 3.23 обойти:
http://www.mysql.com/doc/en/ANSI_diff_Sub-selects.html
-
кстати вот сдесь есть пример как это в 3.23 обойти:
только про удаление я так ничего и непонял
-
только про удаление я так ничего и непонял
Я тож полностью не понял, но мне кажется Mysql генерит таблицу (выборку) со множеством строк DELETE, чтобы ты иж потом, напр. , скопировал их или сделал ещё запросы на основании этой выборки.
-
Alexandr
почти угадал :)
только их копировать никуда не надо :)
SELECT CONCAT(\'DELETE FROM tab1 WHERE pkid = \', "\'", tab1.pkid, "\'", \';\')
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2;
Если это положить в скрипт и запустить вот так
shell> mysql --skip-column-names mydb < myscript.sql
то это даст тебе множество строк DELETE, где в where для pkid будут подставлены нужные значения.
А если как написано в мануале
shell> mysql --skip-column-names mydb < myscript.sql | mysql mydb
то вывод первой части будет перенаправлен на клиентскую программу (mysql) и все эти DELETE будут выполнены :)
ну.. объяснение немного корявое, но я думаю смысл понятен :)