У меня есть две таблицы:MySQL запрос с использованием CONCAT
categories
=>Category_ID
, Title
, Description
, Default_Points
, Groups
transactions
=>Transaction_ID
, Datetime
, Giver_ID
, , Points
, Category_ID
, Reason
Преподаватели награждают очки, выбирая категорию (например, «Позитивное отношение & «Поведение») и причина (например, «Отличная работа сегодня»), которая помещает запись в таблицу transactions
.
Типичная categories
строка может быть:
INSERT INTO `categories` (`Category_ID`, `Title`, `Description`, `Default_Points`, `Groups`) VALUES
(17, 'Olympic Values', 'Please clearly state the correct Olympic Value that''s being used currently in the REASON box.', 5, '');
Типичная transactions
строка может быть:
INSERT INTO `transactions` (`Transaction_ID`, `Datetime`, `Giver_ID`, `Recipient_ID`, `Points`, `Category_ID`, `Reason`) VALUES
(50, '2011-09-07', 35023, 90236, 5, 17, 'Excellent work during PE');
То, что я хотел бы попробовать и сделать, используя MySQL является составить список общих точек (т. е. SUM(transactions.Points)
для КАЖДОЙ категории, с несколькими образцами Reasons
.
Я бы предположил, что это должно будет использовать CONCAT ?
мне нужно:
SUM(transactions.Points)
в категорииcategories.title
- 5 уникальный
transactions.reason
в категории
Это может выглядеть следующим ...
Points Title Sample
14252 Olympic Values Excellent work in PE!|Great display of friendship|Well done!
15532 Outstanding Effort Amazing work!|Worked so hard|Great piece!
Возможно ли это?
Спасибо заранее,
Привет @ChrisPatrick. Это хорошо работает, кроме того, что возвращаемые причины не уникальны. Обычно, когда транзакции вводятся в базу данных, они будут состоять из 30 (размер класса), и поэтому первые 5 транзакций часто будут с одинаковым «Разумом». Есть ли что-нибудь, что вы можете добавить, чтобы сделать причины уникальными? – dunc
Ах, понял! Вывешивает это как ответ, но дает вам кредит. – dunc