У меня возникла проблема, когда это заявление запроса дает мне повторение GoalText в результатах. Есть идеи?SQL Query возвращает повторяющуюся информацию
Полный оператор запроса:
Select g.GoalText, convert(nvarchar, g.GoalID) + '|' + convert(nvarchar, r.GoalReqID) as GoalID, GoalReqID
from Goal g inner join GoalRequirement r
on g.GoalID = r.GoalID
where GoalReqID in
(Select GoalReqID
from GoalRequirement r inner join SurveyAnswer a
on r.QuestionID = a.QuestionID and ReqQuestionValue = SurveyAnswer
where a.CycleID = 93 and ReqBMILevel is null
and ReqEnergyBalance is null and SurveyAnswer = 1 and r.QuestionID in
(Select QuestionID from Question where QuestionParent = 6000));
Результаты:
GoalText GoalID GoalReqID Choose lasagna, ravioli, stuffed pasta 1-3 times a week instead of 4 or more times a week. 13|442 442 Choose macaroni and cheese 1-3 times a week instead of 4 or more times a week. 14|443 443 Choose meats in gravies- beef stew, chicken pot pie,… 1-3 times a week instead of 4 or more times a week. 15|444 444 Choose spaghetti, meat sauce and/or meatballs, 1-3 times a week instead of 4 or more times a week. 16|445 445 Choose tacos, burritos, enchiladas, nachos with meat and/or cheese 1-3 times a week instead of 4 or more times a week. 17|446 446 Choose biscuits and sausage gravy 1-3 times a week instead of 4 or more times a week. 102|482 482 Choose pizza- all types and calzones 1-3 times a week instead of 4 or more times a week. 12|483 483 Choose hamburger/tuna/chicken noodle casseroles (includes “Helper”) 1-3 times a week instead of 4 or more times a week. 130|484 484 Choose lasagna, ravioli, stuffed pasta 1-3 times a week instead of 4 or more times a week. 13|485 485 Choose macaroni and cheese 1-3 times a week instead of 4 or more times a week. 14|486 486 Choose meats in gravies- beef stew, chicken pot pie,… 1-3 times a week instead of 4 or more times a week. 15|487 487 Choose spaghetti- marinara sauce only, 1-3 times a week instead of 4 or more times a week. 132|488 488 Choose spaghetti, meat sauce and/or meatballs, 1-3 times a week instead of 4 or more times a week. 16|489 489 Choose tacos, burritos, enchiladas, nachos with meat and/or cheese 1-3 times a week instead of 4 or more times a week. 17|490 490
Индивидуальные запросы, которые составляют запрос:
Select g.GoalText, convert(nvarchar, g.GoalID) + '|' + convert(nvarchar, r.GoalReqID) as GoalID, GoalReqID
from Goal g inner join GoalRequirement r
on g.GoalID = r.GoalID
Результаты: Есть 444 записей в этом запросе , но вы должны получить эту идею.
GoalText GoalID GoalReqID Eat an additional 400-500 calories per day. 1|1 1 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|2 2 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|106 106 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|144 144 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|182 182 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|219 219 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|256 256 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|293 293 Choose fried potatoes, French fries, hash browns, potato salad 1-3 times a week instead of 4 or more times a week. 2|330 330 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|331 331 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|294 294 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|257 257 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|220 220 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|183 183 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|145 145 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|107 107 Choose canned fruit, in heavy syrup, 1-3 times a week instead of 4 or more times a week. 3|3 3 Choose lower fat milk (nonfat, skim, 1%, 2%) instead of whole milk. 4|4 4 Choose lower fat milk (nonfat, skim, 1%, 2%) instead of whole milk. 4|108 108 Choose lower fat milk (nonfat, skim, 1%, 2%) instead of whole milk. 4|146 146 Choose lower fat milk (nonfat, skim, 1%, 2%) instead of whole milk. 4|184 184 Choose lower fat milk (nonfat, skim, 1%, 2%) instead of whole milk. 4|221 221
Select GoalReqID
from GoalRequirement r inner join SurveyAnswer a
on r.QuestionID = a.QuestionID and ReqQuestionValue = SurveyAnswer
where a.CycleID = 93 and ReqBMILevel is null
and ReqEnergyBalance is null and SurveyAnswer = 1
Результаты:
GoalReqID 478 479 480 481 482 440 441 483 484 485 442 443 486 487 444 488 489 445
Select QuestionID from Question where QuestionParent = 6000
Результаты:
QuestionID 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009
Спасибо, что рассказали мне, что происходит. Любое предложение по исправлению моей проблемы? – NMan
Это зависит от того, что вы пытаетесь показать? –
Простой ответ - просто написать свое соединение, чтобы 1-я таблица соответствовала одному результату во 2-м. Но чтобы понять это правильно, нам нужно лучше понять, какие критерии должны определять именно ту строку, которая должна быть. –