Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 20
1

Как показать в одной datagridview "задания" из одной таблицы и в каждой строке "сумма опл" из другой таблицы

06.08.2016, 21:18. Просмотров 583. Ответов 12
Метки нет (Все метки)


Здравствуйте. у меня вопрос точно, как в заголовке. Как показать в одной datagridview "задания" из одной таблицы A, и в каждой строке "сумма оплаты" из другой таблицы B. Обе таблицы связаны по A.id = B.idЗадания.
Спасибо.

Добавлено через 5 часов 3 минуты
У Вас так принято, что я сам отвечаю на свои вопросы?)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2016, 21:18
Ответы с готовыми решениями:

Вычисляет количество символов "A" в одной строке, а в другой - символы "."
Есть две строки с текстом, задание в заголовке... var sa,sk,k:string; procedure...

вывести записи из таблицы "Таблица1", в которых есть название1, но при этом столбец "Код" из таблицы "Таблица1" присутствует в значениях столбца "Комм
Помогите пожалуйста, решить такую задачку. Необходимо вывести записи из таблицы "Таблица1", в...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

MS Acces VBA. Как вывести поле "фамилия" и "группа" из таблицы "студенты" в Access ?
Использовать Fields? Посмотрите в рисунке задания.

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
12
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
07.08.2016, 12:35 2
Есть два варианта,первый сделать запрос используя объединение таблиц,а второй сделать два запроса и объединяй уже на стороне клиента,хотя нет...в трещину второй вариант,рассмотри только первый вариант
0
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 20
07.08.2016, 20:43  [ТС] 3
Спасибо, Кжесимир.
я по-разному пытался и получилось вот так:
string s = "SELECT A.id, A.Проект, " +
"SUM(B.Оплачено) AS Оплачено " +
"FROM Таблица_Проекты A " +
"LEFT JOIN Таблица_РасчетыСЗаказчиками AS B ON A.id = B.idProject " +
"GROUP BY A.id, A.Проект";
В результирующей таблице вывелись все проекты и суммы оплаты по каждому проекту.
Пока не знаю почему в GROUP BY нужно перечислять все поля этой таблицы.
я пытался сгруппировать по одному полю GROUP BY A.id, но не получилось.
но это лишь спортивный интерес, потому, что запрос работает.
А теперь насущный для меня вопрос. как присоединить еще одно поле из "Таблица_заказчиков AS C" по полям С.id = A.idЗаказчик". Можно ли это сделать в одном запросе?
Спасибо за Ваше участие.
0
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
08.08.2016, 13:42 4
можно,вот только с группировкой и суммированием потом могут начаться проблемы,но это тоже можно обойти =)
0
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 20
08.08.2016, 14:15  [ТС] 5
Да, уж! Пытаюсь. Если найду, то напишу сюда. Если Кто-нибудь знает, то было бы здорово. Я пока, как слепой котенок. В результате - все получается, но долго. Чаще отвечаю на свои вопросы сам, чтобы другие, которые заинтересовались вопросом, не мучились, как я
0
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
08.08.2016, 16:10 6
я могу тебе и код написать,я тебе так сделаю медвежью услугу,да и голова у тебя вроде варит зачем тебе больше помогать?!да и сам прикинь, если ты его решишь хоть и потратив много времени, то во первых твой ум станет острее и второе ты во век не забудешь эту чёртову задачу =)если сегодня не сможешь завтра скинь фотки таблиц и что надо сделать,попробуем помочь,но думай ты сегодня его всё таки сделаешь
0
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 20
09.08.2016, 18:00  [ТС] 7
Вот так работает:
string s = "SELECT A.id, A.Проект " +
//"С.Заказчик " +
"FROM (Таблица A " +
"LEFT JOIN Таблица B ON A.id = B.idProject) " +
//"LEFT JOIN Таблица С ON С.id = А.idZakazchik " +
"WHERE A.idProizvodstvo = " + Ф.idПроизводство.ToString()
//" GROUP BY A.id, A.Проект";

Вот так не работает:
string s = "SELECT A.id, A.Проект " +
"С.Заказчик " +
"FROM (Таблица A " +
"LEFT JOIN Таблица B ON A.id = B.idProject) " +
"LEFT JOIN Таблица С ON С.id = А.idZakazchik " +
"WHERE A.idProizvodstvo = " + Ф.idПроизводство.ToString()
//" GROUP BY A.id, A.Проект";
Здесь я пытаюсь присоединить 3ю таблицу по полю С.Заказчик оператором LEFT JOIN Таблица С ON С.id = А.idZakazchik
0
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
09.08.2016, 18:19 8
без группировки работает?

Добавлено через 1 минуту

Добавлено через 1 минуту
и не получится,в группировке должны участвовать все колонки которые ты указал в Select то есть

GROUP BY A.id, A.Проект,С.Заказчик
0
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 20
09.08.2016, 22:54  [ТС] 9
Я пока группировку не включал. Тестирую 3-ю таблицу. Не могу включить)
0
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
10.08.2016, 08:23 10
у меня ещё такой вопрос

Ф.idПроизводство.ToString() - вот это те за кой ляг?с каких пор Id стали делать строковым типом?!


Вот эта часть по идее должна уже работать,то есть связь между тремя таблицами уже должна быть,не факт что там что то в результате отобразится так как я не видел что у тебя там в базе,но работать оно должно без ошибок
SELECT A.id, A.Проект,С.Заказчик
FROM Таблица A
LEFT JOIN Таблица B ON A.id = B.idProject
LEFT JOIN Таблица С ON С.id = А.idZakazchik
0
696 / 553 / 247
Регистрация: 04.08.2015
Сообщений: 1,524
10.08.2016, 11:32 11
Цитата Сообщение от Кжесимир Посмотреть сообщение
SQL
1
2
3
4
SELECT A.id, A.Проект,С.Заказчик
FROM Таблица A
LEFT JOIN Таблица B ON A.id = B.idProject
LEFT JOIN Таблица С ON С.id = А.idZakazchik
А вопрос "Нафига вообще Таблица B" не возникает?
0
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 20
10.08.2016, 14:56  [ТС] 12
Вот так работает:
string s = "SELECT A.Проект, C.Заказчик, " +
"SUM(IIF(B.Оплачено IS NOT NULL,B.Оплачено,0)) AS Оплачено " +
"FROM (Таблица_Проекты A " +
"LEFT JOIN Таблица_Заказчики C ON C.id = A.idZakazchik) " +
"LEFT JOIN Таблица_РасчетыЗаказчиков B ON (A.idZakazchik = B.idZakazchik) " +
"AND (A.id = B.idProject) " +
"WHERE A.idProizvodstvo = " + Ф.idПроизводство +
" GROUP BY A.Проект, C.Заказчик, B.Оплачено";
Синтаксис access почему-то скобки любит
Я зашел в access, в конструкторе построил запрос, потом скопировал из access-а строку и перенес в проект
Кжесимир, очень тебя благодарю. Я сам видеограф, фотограф и тренер по игре Го. Поэтому если у тебя появятся вопросы по этим областям, то буду рад ответить. мой контакт https://vk.com/samakaevkamil

Добавлено через 6 минут
Igr_ok Спасибо тебе. Только Вы вдвоем участвуете в теме. Может темы мои не интересны. Мои контакты в предыдущем сообщении

Добавлено через 1 час 55 минут
Реально в проекте командная строка выглядит так:
string s = "SELECT A.id, A.Проект, C.Заказчик, A.Договор, A.[Дата договора], A.[Сумма договора], A.[Дата начала исполнения], A.[Дата сдачи проекта], " +
"A.idProizvodstvo, A.idZakazchik, A.idSotrudnik, " +
"SUM(IIF(B.Оплачено IS NOT NULL,B.Оплачено,0)) AS Оплачено , SUM(IIF(B.Возвращено IS NOT NULL,B.Возвращено,0)) AS Возвращено, A.[Сумма договора]-A.[Сумма договора] AS Расходы, A.[Сумма договора]-A.[Сумма договора] AS Долг " +
"FROM (Таблица_Проекты A " +
"LEFT JOIN Таблица_Заказчики C ON C.id = A.idZakazchik) " +
"LEFT JOIN Таблица_РасчетыЗаказчиков B ON (A.idZakazchik = B.idZakazchik) " +
"AND (A.id = B.idProject) " +
"WHERE A.idProizvodstvo = " + Ф.idПроизводство +
" GROUP BY A.id, A.Проект, C.Заказчик, A.Договор, A.[Дата договора], A.[Сумма договора], A.[Дата начала исполнения], A.[Дата сдачи проекта], " +
"A.idProizvodstvo, A.idZakazchik, A.idSotrudnik";
почему то у меня, копируемые вставки из проекта выглядят не должным образом, не как у других, красиво и удобочитаемо.

Добавлено через 54 минуты
Интересно, можно ли включить вычисляемое поле по дате, например:
A.[Дата сдачи проекта] - A.[Дата начала исполнения] - AS [Время исполнения],
чтобы в результате получилось поле - 1 день 3 часа
или это не реально?)
0
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
10.08.2016, 21:22 13
всё реально,вот только вычисляемые поля я редко когда использовал,в основном все вычисление я предпочитаю проводить на стороне клиента... было бы желание,короче говоря вариант такой есть.В Access только разок применял а в MSSQL только для тренировок
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2016, 21:22

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Как организовать "подчинение" среди строк одной таблицы?
Вопрос наверно некорректен в заголовке, но суть такова: имеются таблица со списком всех нужных...

Как из одной сводной таблицы "отнять" другую?
Как в момент сложения сводных таблиц в третью, результирующую, у всех данных одной из них поменять...

Дан массив строк: "red", "green", "black", "white", "blue". Запишите в файл элементы массива построчно (в новой строке)
пишу так но не помогает: static void Main(string args) { string...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.