|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.05.2013, 00:13 | #1 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 38
|
запрос select
Имеется 3 таблицы(идентичные по столбцам и названием столбцов)
table1, table2, table3 у всех этих таблиц есть столбец с одинаковым названием colomn_zzz (числовое поле) table1 name | colomn_zzz вася | 12 петя | 14 женя | 8 table2 name | colomn_zzz оля | 11 иван| 10 николай | 18 table3 name | colomn_zzz марина | 16 ира| 7 сергей | 14 не могу сделать правильный запрос чтобы выбрать 5 максимальных значений изо всех таблиц результат: name | colomn_zzz николай | 18 марина | 16 петя | 14 сергей | 14 вася | 12 в инет нашел только как сделать запрос с одинаковыми полями. SELECT * FROM table1 JOIN table2 JOIN table3 ORDER BY colomn_zzz DESC LIMIT 5 |
22.05.2013, 00:55 | #2 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 38
|
решил вот так
SELECT * FROM (SELECT * FROM table1 UNION SELECT * FROM table2 UNION SELECT * FROM table3) as t ORDER BY colomn_zzz DESC LIMIT 5 может как-то проще можно? есть одно но! если например в табл1 и табл2 значение полностью идентичны табл1 сергей | 14 табл2 сергей | 14 то в результате вижу только 1 из этих двух значений(в теории таких совпадений у меня не должно быть, но всякое может быть) результат (должен быть) сергей | 14 сергей | 14 в итоге сергей | 14 Последний раз редактировалось deemka777; 22.05.2013 в 00:57. Причина: уточнение |
22.05.2013, 10:17 | #3 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
PHP код:
Цитата:
PHP код:
PHP код:
|
||
22.05.2013, 10:33 | #4 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
22.05.2013, 11:13 | #5 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 38
|
Спасибо Andkorol за такой широкий ответ.
eval просто читать, и не ошибаться не реально. |
22.05.2013, 11:19 | #6 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
22.05.2013, 22:29 | #7 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
eval, ты мне напоминаешь мою учительницу по информатике в 8 классе - пафоса немеряно, а практической пользы ноль.
|
22.05.2013, 22:33 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Mortimoro +1
|
22.05.2013, 22:42 | #9 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
дет сад на выезде?
|
23.05.2013, 11:43 | #10 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 38
|
поделитесь своим опытным мнением! пжлст.
например: у меня есть 50 таблиц, по 20 столбцов и 1000 строк. из них я пытаюсь получить топ 100 по выше указанному примеру(например столбец_5). 1. если эти данные будут запрашиваться довольно часто(200-300 раз в день), какова будет нагрузка не базу(не пошлёт ли меня провайдер? ) 2. лучшее преобразовать список топ в отдельную таблицу, и просто напросто выводить из неё результат? 3. ваше видение как это лучше сделать! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Простой SELECT запрос (но с использованием CASE) | Form_13 | SQL, базы данных | 4 | 04.05.2013 17:40 |
Запрос Select | Morgusha | SQL, базы данных | 26 | 06.06.2012 14:07 |
sql запрос select | Olegka_ | БД в Delphi | 11 | 27.03.2011 16:55 |
select-запрос из трех таблиц | AJlEKCA | БД в Delphi | 10 | 19.01.2011 01:38 |
ADO-MS SQL Не выполняется запрос SELECT | Dj_SheLL | Помощь студентам | 10 | 23.11.2010 14:17 |