|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
Цикл for в mssql24.02.2011, 21:57. Показов 21914. Ответов 20
Метки нет (Все метки)
доброго времени суток. жизнь заставила сделать вот такую выборку
![]() для простоты смоделирую так: таблица, поля фамилия, цвет.фамилия содержит данные о фамилиях людей,например петров, сидоров и тд., цвет-цвет карандашей, которые есть у человека, например: красный, жёлтый, синий, зелёный (это я модельный пример составил чтобы проще было) вот, и надо сделать вроде бы не хитрую такую выборку, чтобы данные представились след. образом иванов: красных карандашей-15, жёлтых 8, корчиневых -0 и тд., то есть для каждого человека из списка фамилий (фамилии могут повторяться, те в таблице моут содержаться строки типа иванов : 5 красных, 8 зелёных, 9 жёлтых и потом ещё строка иванов: 80 синих,12 красных и тд-пусть цветов всего 4 будет) надобно вывести количество карандашей каждого из 4-х цветов для этого человека я думаю что это можно было бы замутить в цикле для каждого [человек] из [ списка всех человеков] select [этот самый человек], count (*) from base where [человек] =[ этот самый человек] and [цвет] =[ красный] (и так для каждого цвета) причём надо всё сделать одним запросом, чтобы потом это дело автоматизировать.. такое возможно впринципе в mssql? кто нибудь такое реализовывал? подскажите пожалуйста
0
|
|
| 24.02.2011, 21:57 | |
|
Ответы с готовыми решениями:
20
Цикл в MSSQL Совместимость datetime в MSSQL 7 и MSSQL 2000 Перенос БД из MSSQL 6.5 на MSSQL 7.0 |
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
| 25.02.2011, 06:30 [ТС] | |
|
спасибо большое за ответ! а подскажите пожалуйста, каким образом можно с помощью group by победить?
я в sql не особо компетентен, и я сначала хотел написать что то типа : select [Фамилия], count (*) from base where [цвет]= [ текущей фамилии] и думал, чтобы пробежаться по всем фамилиям и обратиться к текущей и при этом всё одним запросом - как раз for и нужен а каким образом здесь можно с помощью group by выкрутиться ?
0
|
|
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|||||||||||||||||||||
| 25.02.2011, 23:19 [ТС] | |||||||||||||||||||||
|
спасибо!попытаюсь разобраться
Добавлено через 16 часов 33 минуты спасибо за полезную ссылку, но я видимо немного не допонял.. мне надо получить выборку такую:
а вот каким обрзом мне получить в этом же запросе количество карандашей и других цветов для каждого из [человек] именно в таком виде как я указал выше? я пробовал так,
0
|
|||||||||||||||||||||
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|||||||
| 26.02.2011, 22:16 [ТС] | |||||||
|
ну да, я тоже думал об этом, вот только в какой части кода должна быть эта вложенность и какая, никак не соображу, я просто никогда ещё вложенных не делал, только простые статические в основном
Добавлено через 22 часа 24 минуты
0
|
|||||||
|
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
|
|||||||
| 26.02.2011, 22:32 | |||||||
1
|
|||||||
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
| 26.02.2011, 22:39 [ТС] | |
|
спасибо за ответ!
теперь пишет Incorrect syntax near 'количество красных'. и Incorrect syntax near the keyword 'FROM'... непонятно а вообще, по смыслу, должен ли такой код вернуть данные в таком виде, как я хочу ?
0
|
|
|
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
|
||||||
| 26.02.2011, 22:48 | ||||||
1
|
||||||
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||
| 26.02.2011, 22:57 [ТС] | ||
но теперь пишет почему то Invalid column name '[человек]', почему так, вообще неясно мне, ведь это поле есть , почему Invalid .. ой, надо было from table2 добавить в конец запроса, но тогда у меня суммируется для каждого человека число красных и синих не для него одного а число красных и синих вообще всё
0
|
||
|
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
|
||||||
| 26.02.2011, 23:01 | ||||||
|
Вообще то считается плохим тоном именовать таблицы и столбцы на русском языке
Если бы вы привели примеры таблиц было бы легче разобраться !!
1
|
||||||
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||
| 26.02.2011, 23:12 [ТС] | ||
|
спасибо большое
0
|
||
|
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
|
||||||
| 27.02.2011, 08:57 | ||||||
1
|
||||||
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
| 27.02.2011, 16:42 [ТС] | |
|
sanya0107, спасибо огромное!! как раз то делает, что мне и надо!! спасибо что уделили мне своё время и разобрались!
вот скажите пожалуйста только, что такое t1,t2-это видимо что то типа параметров?это какой тип запроса Вы применили? вложенный и параметрический ? я просто почитать хочу про это,интересно стало ))
0
|
|
|
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
|
||||||
| 27.02.2011, 16:55 | ||||||
|
Хорошая книга по SQL это книга Грабера! а t1, t2, t3 это просто псевдонимы таблиц для удобства и сокращения текста и точной идентификации полей принадлежности к таблице ! тоже самое как вы используете в
1
|
||||||
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||
| 27.02.2011, 17:09 [ТС] | ||
|
Грабер Мартин - SQL, 2003 -она видимо ? 672 страницы - ого-го))
хотя в аннотации написано
0
|
||
|
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
|
|
| 27.02.2011, 17:19 | |
|
В основном синтаксис везде одинаков! Есть маленькие нюансы у каждой СУБД!
1
|
|
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
| 27.02.2011, 18:00 [ТС] | |
|
спасибо, буду читать))спасибо за помощь ещё раз
0
|
|
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
|
|||||||
| 27.02.2011, 21:30 | |||||||
|
не знают общеизвестных стандартных приёмов:
1
|
|||||||
| 27.02.2011, 21:30 | |
|
Помогаю со студенческими работами здесь
20
Переход с mssql Express 2008 R2 на mssql 2012 Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием... Совместимость datetime в MSSQL 7 и MSSQL 2000
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|