|
Не могу решить задачу для чайников
|
|||
---|---|---|---|
#18+
Здравствуйте, уважаемые форумчане! Прошу о помощи с задачей для чайников: Составьте запрос, который будет получать сумму платежей для всех получателей, у которых в названии есть слово гипермаркет. При этом существует две таблицы. Первая называется expenses, у которой названия столбцов следующие - num, value, receiver. Вторая называется receivers, у которой названия столбцов следующие - num, name. В первой таблице поле receiver имеет тип INT, значение которого соответствует полю num таблицы receivers. Блоки для ввода решения (всего 22 блока): ( FROM ) SUM(receiver) receiver %гипермаркет% SELECT FROM SUM(value) WHERE IN num WHERE SELECT expenses receivers name LIKE ; = AVG(value) DISTINCT Заранее благодарю за ответ! Также прилагается скриншот с задачей и блоками для ввода решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 12:47 |
|
Не могу решить задачу для чайников
|
|||
---|---|---|---|
#18+
Разобрался сам: select sum(value) from expenses where receiver in (select num from receivers where name like '%гипермаркет%'); Также обращаю внимание на отсутствие одиночных ковычек в задании. В моём решении они есть. Всем добра! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 23:02 |
|
Не могу решить задачу для чайников
|
|||
---|---|---|---|
#18+
Запрос-то рабочий - но один из самых неудачных с точки зрения производительности. Да и с расширяемостью у него не очень - логика практически тупиковая, финализованная, дополнять её непросто. Впрочем, если ограничиваться выданными блоками, то куда деваться... В большинстве случаев старайтесь использовать связывание таблиц с последующим отбором. Т.е. правильным с точки зрения производительности будет запрос Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 23:13 |
|
|
start [/forum/topic.php?fid=47&msg=39910547&tid=1828789]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 503ms |
0 / 0 |