У меня есть требование, как показано ниже:число Re строк запрос
Студенты и родители войти в детали должно быть почта объединена, чтобы отправить письма
На нашей базе большинства студентов имеет одну родительский контакт и лишь немногие из них 2
Я пишу запрос (ниже), чтобы предоставить подробную информацию о студентах и родителях вместе с именем пользователя - StudentID_1 или StudentID_2 (в зависимости от отсутствия родителей) сгенерированный пароль.
Что бы мы делать, если студент имеет одного родителя, то только их контактные данные должны отображаться в моем запросе вместо дополнительных идентификаторов
Я изо все силы, чтобы добиться этого в моем запросе, так что любая помощь очень очень признателен.
SELECT StudID, StudName, RTRIM(StudID) + '_1' AS Parent_Username, CAST(ABS(CHECKSUM(NEWID())) % 10 AS VARCHAR(1))
+ CHAR(ASCII('a') + ABS(CHECKSUM(NEWID())) % 25) + CHAR(ASCII('A') + ABS(CHECKSUM(NEWID())) % 25) + LEFT(NEWID(), 5) AS Parent_Password
FROM
Student
StudId StudName Gender Parent Username Parent Password
09054828 Alexander Lewis M 09054828_1 0iCCA086
09054828 Alexander Lewis M 09054828_1 6jI247CA
09054828 Alexander Lewis M 09054828_1 7xA1075E
09054828 Alexander Lewis M 09054828_1 3dFCBCCF
09056750 Daniel O'Sullivan M 09056750_1 6tC76C96
09057033 Daniel Geggus M 09057033_1 9gXDB414
And we have Parents Portal table which has below data
StudentID Name ParentUsername ParentPassword
9054828 Lewis Alexander 09054828_1 l5oXYQo
9054828 Lewis Alexander 09054828_2 70AYvbi
9056750 O'Sullivan Daniel 09056750_1 1OnVMn0
9056750 O'Sullivan Daniel 09056750_2 rT47Sx5
9057033 Geggus Daniel 09057033_1 Ap6EV3v
9057033 Geggus Daniel 09057033_2 Ar4AQ22
Так однажды я присоединюсь свой оригинальный запрос к таблице Родители портала я вижу, как показано ниже
StudentID Name ParentUsername ParentPassword
09054828 Alexander Lewis M 09054828_1 0iCCA086
09054828 Alexander Lewis M 09054828_1 6jI247CA
09054828 Alexander Lewis M 09054828_1 7xA1075E
09054828 Alexander Lewis M 09054828_1 3dFCBCCF
9056750 Daniel O'Sullivan 09056750_1 1OnVMn0
9057033 Daniel Geggus 09057033_1 Ap6EV3v
т.е. Даже если студент 2 родителей результаты получать в два раза (4 строки вместо 2)
Любые идеи или предложения, как я могу ограничить повторяющиеся строки?
Благодаря Ар
Спасибо за ваш reply..But Я получаю ниже ошибки: Msg 102, состояние 1, строка 12: Неправильный синтаксис около «)» –
пытаются добавить постепенно каждый столбец в CTE и main также выберите, чтобы выяснить, в чем проблема. Аналогичное решение можно найти здесь (http://sqlfiddle.com/#!6/ccbc7/8) – user2299547