Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: выборка из 2х таблиц по order by
Форумы портала PHP.SU » » Работа с СУБД » выборка из 2х таблиц по order by

Страниц (1): [1]
 

1. foozzi - 13 Мая, 2013 - 22:49:06 - перейти к сообщению
Есть 2 таблицы, из нужно тянуть все данные, НО по order by каждой таблицы id
пробовал так:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT F.*, S.* FROM post F, quote S ORDER BY F.id_post, S.id_quote DESC


Но это уже полный бред, и не то получаю....
2. EuGen - 13 Мая, 2013 - 22:51:06 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM (SELECT id_post AS union_id, * FROM post
  2. UNION ALL
  3. SELECT id_quote AS union_id, * FROM quote) AS union_data
  4. ORDER BY union_data.union_id DESC

?
3. foozzi - 13 Мая, 2013 - 23:00:55 - перейти к сообщению
EuGen пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id_post AS union_id, * FROM post
  2. UNION ALL
  3. SELECT id_quote AS union_id, * FROM quote
  4. ORDER BY union_id DESC

?

Unknown column 'union_id' in 'order clause'
4. caballero - 13 Мая, 2013 - 23:53:39 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *  FROM (SELECT id_post AS union_id, * FROM post
  2. UNION ALL
  3. SELECT id_quote AS union_id, * FROM quote )  t
  4. ORDER BY union_id DESC
5. LIME - 13 Мая, 2013 - 23:58:00 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT F.*, S.* FROM post F, quote S ORDER BY F.id_post DESC, S.id_quote DESC
6. foozzi - 14 Мая, 2013 - 00:10:51 - перейти к сообщению
LIME пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT F.*, S.* FROM post F, quote S ORDER BY F.id_post DESC, S.id_quote DESC

А если 2 таблица содержит на 2 столбца меньше?
7. LIME - 14 Мая, 2013 - 00:41:39 - перейти к сообщению
мир не рухнет
а UNION требует совпадения полей
8. V2oD2o - 14 Мая, 2013 - 10:10:32 - перейти к сообщению
позвольте спросить, а зачем столь странный метод - сортировка 2х таблиц по ID (auto_inc?) ?

з.ы. ну хотя судя по id_post, значит какие то все таки внутренние ID, ну а почему тогда не заюзать JOIN ? есть с чем завязать ? дай по 10 строчек обоих таблиц и что из этого хочешь получить ?
9. foozzi - 14 Мая, 2013 - 14:49:24 - перейти к сообщению
V2oD2o пишет:
позвольте спросить, а зачем столь странный метод - сортировка 2х таблиц по ID (auto_inc?) ?

з.ы. ну хотя судя по id_post, значит какие то все таки внутренние ID, ну а почему тогда не заюзать JOIN ? есть с чем завязать ? дай по 10 строчек обоих таблиц и что из этого хочешь получить ?

в одной таблице находится текст, в другой картинки, так вот их нужно просто по порядку выводить
10. LIME - 14 Мая, 2013 - 15:01:28 - перейти к сообщению
то есть для каждого текста все картинки?
11. foozzi - 14 Мая, 2013 - 18:22:03 - перейти к сообщению
LIME пишет:
то есть для каждого текста все картинки?

нет, на странице выводятся текст и картинки отдельно из 2х таблиц
12. LIME - 14 Мая, 2013 - 18:34:43 - перейти к сообщению
лучше бы ты не отвечал
совсем непонятно стало
13. foozzi - 14 Мая, 2013 - 22:19:27 - перейти к сообщению
LIME пишет:
лучше бы ты не отвечал
совсем непонятно стало

1 таблица - текст
2 таблица - ссылки на картинки

На страницу выводить из этих 2х таблиц по порядку и текст и картинки
14. DeepVarvar - 14 Мая, 2013 - 22:26:27 - перейти к сообщению
Джойни их тупо и выводи.
15. V2oD2o - 15 Мая, 2013 - 07:43:08 - перейти к сообщению
а теперь я уже даже стесняюсь спросить - а зачем отдельно картинки? база большая или для понта?

насколько я понял у тебя по ID товара то inner join:
PHP:
скопировать код в буфер обмена
  1. $query="SELECT `model_size`.`model_id`,
  2.                 `model`.`model_name` AS MODEL,
  3.                 `vendor`.`vendor_name` AS VENDOR //перечисляем явным образом какие поля нам нужны
  4.                 FROM `model_size` //откуда, паралельно цепляя JOIN `model` и `vendor` по совпадению внутренних ID
  5.                 INNER JOIN `model` ON `model`.`model_id`=`model_size`.`model_id`
  6.                 INNER JOIN `vendor` ON `model`.`vendor_id`=`vendor`.`vendor_id`
  7.                 WHERE `size_id`='213548711'";
  8.  
  9.  


з.ы. ну и в конце разумеется ORDER BY MODEL или VENDOR, а остальные данные уже будут зацеплены по ID

 

Powered by ExBB FM 1.0 RC1