|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: Mookapek
(28.09.2009 в 23:54)
| | >Почему на самом деле так
Потому что запросу указанному Вами в начале темы (28.09.2009 в 02:43) в точности отвечает именно он.
>и чем лучше второй вариант?
Проще. Разве этого недостаточно? И разве это не было понятно без акцента?
И наверняка работает быстрее, а ресурсов потребляет меньше. | |
|
|
|
|
|
|
|
для: 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 в 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'
|
Вот оно как надо, оказывается. | |
|
|
|
|
|
|
| На такой запрос:
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'".
В чем заключается ошибка? | |
|
|
|
|