Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / алиасы и вложенный запрос / 13 сообщений из 13, страница 1 из 1
16.12.2013, 17:21:57
    #38502498
dimonovych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
Здравствуйте.
Подскажите пожалуйста как правильно и можно ли вообще использовать имя таблицы полученной запросом в сджойненном запросе?
То есть:
Select Field1, Field2 From (Select * From Table) t1 Left Join (Select * From t1 Where t1.Field >0) t2 on Field1 = t2.Field1
...
Рейтинг: 0 / 0
16.12.2013, 17:34:22
    #38502515
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
dimonovychЗдравствуйте.
Подскажите пожалуйста как правильно и можно ли вообще использовать имя таблицы полученной запросом в сджойненном запросе?
То есть:
Код: sql
1.
2.
3.
4.
5.
Select Field1, Field2 
From (Select * From Table) t1 
Left Join (
  Select * From t1 Where t1.Field >0
  ) t2 on Field1 = t2.Field1


Нельзя, но можно задействовать временные таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
create temporary table t1 select * from table;

select t1.f1, t2.f1 as f2 
from t1
left join (select * from t1 where t1.f>0) t2 on t2.f1=t1.f1;

drop temporary table t1;


хотя сам запрос выглядит несколько ... неоптимальненько :)
...
Рейтинг: 0 / 0
16.12.2013, 18:01:06
    #38502549
dimonovych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
Тогда подскажите пожалуйста как оптимизировать запрос
Суть запроса - узнать процент от общей суммы для количества матчей.

Код: sql
1.
2.
Sql_S = "SELECT t1.Команда, COUNT(t2.Матч) / COUNT(t1.Матч) FROM (SELECT (Команда & Матч) as ki, Команда, Матч, SUM(Голи) as gol FROM [события$] WHERE " & cryt2 & "  GROUP BY Команда, Матч) t1 " & _
"LEFT JOIN (SELECT (Команда & Матч) as ki, Команда, Матч, SUM(Голи)as gol2 FROM [события$] WHERE  Голи > 0 AND " & cryt2 & "  GROUP BY Команда, Матч) t2 ON t1.ki = t2.ki GROUP BY t1.Команда"
...
Рейтинг: 0 / 0
16.12.2013, 18:42:39
    #38502590
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
Опишите задачу полностью. Ибо фраза
dimonovychпроцент от общей суммы для количества матчей
мягко говоря, сложновата для понимания...
...
Рейтинг: 0 / 0
16.12.2013, 18:43:40
    #38502591
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
И ещё - у тебя точно MySQL ? проверь на всякий случай по буквам...
...
Рейтинг: 0 / 0
16.12.2013, 21:57:11
    #38502775
dimonovych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
Ну есть команды, они играют матчи и забивают голы.
Надо найти число матчей в которых голы > 0 и разделить на общее число матчей для каждой команды.

И нет, у меня не MySql - у меня Excel и ADODB, но такого раздела на форуме не нашел, а синтаксис запросов имхо наиболее похож на MySql.
...
Рейтинг: 0 / 0
16.12.2013, 22:02:01
    #38502784
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
dimonovychИ нет, у меня не MySql - у меня Excel и ADODB, но такого раздела на форуме не нашел, а синтаксис запросов имхо наиболее похож на MySql.Во-первых, у нас есть раздел Microsoft Office.
Во-вторых, синтаксис там, могу предположить, больше похож на MS SQL или Access. Так что могу перенести топик в подфорум на выбор.
...
Рейтинг: 0 / 0
16.12.2013, 22:58:42
    #38502835
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
dimonovychНу есть команды, они играют матчи и забивают голы.
Надо найти число матчей в которых голы > 0 и разделить на общее число матчей для каждой команды.Больше нуля вообще, или только у команды, для которой считается показатель? Сухой проигрыш - считается?
...
Рейтинг: 0 / 0
16.12.2013, 23:39:42
    #38502885
dimonovych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
не похоже оно на MsSql - нету многих функций.
Да и не важно какая Sql - важен сам принцип.
Не важно какая команда
Таблица:
Кманда № Матча Гол
Команда1 1 2
Команда1 7 1
Команда1 10 0
Команда1 12 1
Команда2 2 1
Команда2 7 0
Команда2 11 0
Команда2 13 3
Надо:
Команда Коэф.
Команда1 0,75 (3 матча с голами / 4 матча команды)
Команда2 0,5 (2/4)

я одним подзапросом считаю к-во матчей с голами >0, другим - к-во матчей всего, джойню и делю одно количество на другое.
можно как то иначе?
...
Рейтинг: 0 / 0
17.12.2013, 08:40:54
    #38503045
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
Неважен, говоришь? ну-ну... на, забирай - в MySQL это прекрасно отработает...
Код: sql
1.
2.
3.
select Команда, sum(Гол>0)/count(Гол) Коэф
from Матчи
group by Команда


А теперь трахайся с конвертацией этой шняги в свою среду...
...
Рейтинг: 0 / 0
17.12.2013, 11:50:53
    #38503255
dimonovych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
во первых - можно и повежливее.
во вторых - конвертировал успешно.
в третьих - все равно спасибо.
...
Рейтинг: 0 / 0
17.12.2013, 12:37:22
    #38503343
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
dimonovychконвертировал успешноОчень хорошо.

На будущее: dimonovychу меня Excel и ADODBэто MS Jet, которому самое место в MS Office, в крайнем случае в MS Access. И вовсе никак - в MySQL.
...
Рейтинг: 0 / 0
17.12.2013, 13:46:44
    #38503501
dimonovych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алиасы и вложенный запрос
Если я найду как это сделать в MySql, то под себя уже найду как адаптировать.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / алиасы и вложенный запрос / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]