Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите найти ошибку в запросе.

Сообщения:  [1-7] 

 
 автор: cheops   (05.06.2005 в 12:50)   письмо автору
 
   для: Gush   (05.06.2005 в 02:22)
 

Это кодировка и сортировка по умолчанию - теперь можно кондировку назначить базе данных, отдельной таблице и даже столбцу... т.е. в одной таблице может находиться два столбца с кодировками win1251 и koi8-r и в обоих столбцах сортировка по-русски будет проводится корректно.

PS Из-за этого нововведения проблема с доступом к базе данных из PHP - библиотеку пока не обновили и PHP не дружит с MySQL 4.1 в плане русского языка.

   
 
 автор: Gush   (05.06.2005 в 02:22)
 
   для: Gush   (05.06.2005 в 01:55)
 

Скачал и поставил 4.1.12. Буду проверять. Какой-то новый раздел появился в базе
"Сравнение", стоит "latin1swedish ci"

   
 
 автор: Gush   (05.06.2005 в 01:55)
 
   для: cheops   (05.06.2005 в 01:39)
 

Плохо. Эта версия у меня на локальной машине, на хосте кажется другая. На самом деле это был упрощёный вариант более сложного запроса, при котором брались идентификаторы из 1-й таблицы по условию, потом через UNION подключались идентификаторы из второй таблицы, за исключением уже найденных в первой.

SELECT id FROM tbl1 WHERE ..(условие)... UNION SELECT id FROM tbl2 WHERE ...(условие)...  AND id NOT IN (SELECT id FROM tbl1 WHERE ..(условие)..) ORDER BY 1 ;

   
 
 автор: cheops   (05.06.2005 в 01:39)   письмо автору
 
   для: Gush   (05.06.2005 в 01:33)
 

К сожалению с 4.0.22 такой запрос не пройдёт :( Вложенные запросы появились только в 4.1, на 4.0.22 придётся реализовывать этот запрос через два или прибегнуть к многотабличному запросу вида
SELECT tbl1.id FROM tbl1,tbl2 WHERE tbl1.id != tbl2.id GROUP BY tbl1.id

   
 
 автор: Gush   (05.06.2005 в 01:33)
 
   для: cheops   (05.06.2005 в 01:27)
 

Версия MySQL 4.0.22. Да с ANY я ошибся, нужно NOT IN или <> ALL , но всё равно ошибка!

   
 
 автор: cheops   (05.06.2005 в 01:27)   письмо автору
 
   для: Gush   (05.06.2005 в 01:10)
 

Это MySQL и если да, то какая версия, поддержка вложенных запросов в этой СУБД появилась только в версии 4.1, кроме того вместо конструкции <>ANY следует использовать NOT IN
SELECT id  FROM tbl1 WHERE id NOT IN (SELECT id FROM tbl2)

   
 
 автор: Gush   (05.06.2005 в 01:10)
 
 

Запрос извлекает идентификаторы записей из таблицы 1, которых нет в таблице 2.

SELECT id  FROM tbl1 WHERE id <>ANY (SELECT id FROM tbl2)

Вылетает ошибка #1064

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования