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

Форум MySQL

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

 

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

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

тема: Unknown column '...' in 'where clause'

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

 
 автор: Trianon   (29.09.2009 в 00:54)   письмо автору
 
   для: Mookapek   (29.09.2009 в 00:32)
 

тогда - конечно.

  Ответить  
 
 автор: Mookapek   (29.09.2009 в 00:32)   письмо автору
 
   для: Trianon   (29.09.2009 в 00:03)
 

А если мне надо будет отсортировать полученный результат по какому-нибудь полю, входящему в обе таблицы, здесь второй вариант уже не подходит, так?


SELECT `id` FROM
         (
           SELECT `id_flat` AS `id`, transaction FROM tbl1
           UNION ALL
           SELECT `id_cottage` AS `id`, transaction FROM tbl2
         ) AS `res` WHERE transaction = 'sell'  ORDER BY id

  Ответить  
 
 автор: Trianon   (29.09.2009 в 00:03)   письмо автору
 
   для: Mookapek   (28.09.2009 в 23:54)
 

>Почему на самом деле так

Потому что запросу указанному Вами в начале темы (28.09.2009 в 02:43) в точности отвечает именно он.

>и чем лучше второй вариант?

Проще. Разве этого недостаточно? И разве это не было понятно без акцента?
И наверняка работает быстрее, а ресурсов потребляет меньше.

  Ответить  
 
 автор: Mookapek   (28.09.2009 в 23:54)   письмо автору
 
   для: Trianon   (28.09.2009 в 03:39)
 

Почему на самом деле так и чем лучше второй вариант?

  Ответить  
 
 автор: Trianon   (28.09.2009 в 03:39)   письмо автору
 
   для: Mookapek   (28.09.2009 в 03:06)
 

а на самом деле
SELECT `id` FROM
         (
           SELECT `id_flat` AS `id`, transaction FROM tbl1
           UNION ALL
           SELECT `id_cottage` AS `id`, transaction FROM tbl2
         ) AS `res` WHERE transaction = 'sell'



а еще лучше

           SELECT `id_flat` AS `id` FROM tbl1 WHERE transaction = 'sell'
           UNION ALL
           SELECT `id_cottage` AS `id` FROM tbl2 WHERE transaction = 'sell'


о как оказывается.

  Ответить  
 
 автор: Mookapek   (28.09.2009 в 03:06)   письмо автору
 
   для: Mookapek   (28.09.2009 в 02:43)
 


SELECT * FROM
         (
           SELECT `id_flat` AS `id`, transaction FROM tbl1
           UNION ALL
           SELECT `id_cottage` AS `id`, transaction FROM tbl2
         ) AS `res` WHERE transaction = 'sell'

Вот оно как надо, оказывается.

  Ответить  
 
 автор: Mookapek   (28.09.2009 в 02:43)   письмо автору
 
 

На такой запрос:

SELECT * FROM
         (
           SELECT `id_flat` AS `id` FROM tbl1
           UNION ALL
           SELECT `id_cottage` AS `id` FROM tbl2
         ) AS `res` WHERE transaction = 'sell'

MySQL отвечает так: "Unknown column 'transaction' in 'where clause'".

В чем заключается ошибка?

  Ответить  

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

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

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