|
|
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Доброго дня. Подскажите с простенькой задачкой... Есть таблица: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Нужно вывести имя ребенка, у которого яблок больше, чем груш, но при этом всего фруктов меньше 20. Как такое сделать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 16:19 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 17:20 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Ого, а проще оно никак не делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 19:26 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Без подзапроса имхо никак, а остальная часть довольно простая - колонки в select я оставил для наглядности, их можно убрать и поменять строку having на закомментированную. Впрочем, если подождёте, то может кто-то ещё подскажет варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 19:38 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Эта таблица была сформирована тоже запросом select, через count количество подсчитано было. Изначально там было "ваня / яблоко" 4 строки, "ваня / груша" 8 строк и т.д. В итоге как-то массивно выходит. А на вид простая задачка, думал парой строк обойдется =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 19:56 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Громыхатель, Еще вопрос. авторколонки в select я оставил для наглядности, их можно убрать и поменять строку having на закомментированную. А можно как-то описать это "SUM(IF(fruct="яблоко",num,0)) as `apple`" вне SELECT? Т.е. дать это конструкции имя apple, но при этом не выводить в итоговую таблицу? Например, если надо будет не одно условие `apple` > `pear`, а допустим еще 5 других условий. В общем что бы имя apple задать и использовать, но не выводить в таблицу в SELECT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 21:06 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 21:43 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
vepuyА можно как-то описать это "SUM(IF(fruct="яблоко",num,0)) as `apple`" вне SELECT? я же изначально показал этот вариант - раскомментируйте строку Код: sql 1. и удалите строку having строкой выше. Впрочем, у Акины уже получился хороший вариант для случая, когда других фруктов кроме яблок и груш в таблице нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2016, 23:26 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
ГромыхательБез подзапроса имхо никакГромыхательВпрочем, у Акины уже получился хороший вариант для случая, когда других фруктов кроме яблок и груш в таблице нет."иногда лучше жевать, чем говорить"(с) У Акины вариант мало того, что без подзапросов, так ещё и никак не завязан на наличие в таблице только яблок и груш. Его запрос условием SUM(amount) < 20 проверяет общее кол-во фруктов у человека, вне зависимости от их "расовой" принадлежности и конкретно для яблок и груш проверяет, что яблок не меньше груш (условие SUM(CASE fruit WHEN 'apple' THEN amount END) - SUM(CASE fruit WHEN 'pear' THEN amount END) > 0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 03:58 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх"иногда лучше жевать, чем говорить"(с) Да-да, ошибся, грызть-то зачем? Не все тут такие большие спецы как вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:57 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду немного другое. Это уже не к задаче, а просто для себя) Например три поля Ф.И.О. объединить в одно [as FIO], и дальше уже им оперировать, а не постоянно по новой объединять. Но при этом что бы оно не выводилось в итоговую таблицу, а было только внутри кода для некоторых операций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 15:35 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
Ну можно, например, обернуть результат в ещё один SELECT: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 16:16 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
vepuyОго, а проще оно никак не делается? А что тут сложного ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 16:41 |
|
||
|
Вывести поле по условиям
|
|||
|---|---|---|---|
|
#18+
vepuy, так проще ? Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 16:46 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39230072&tid=1831830]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
190ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 497ms |

| 0 / 0 |
