我遇到了這個查詢語句讓我在結果中重複GoalText的問題。有任何想法嗎?返回重複信息的SQL查詢
完整的查詢語句:
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 2009-08-28 14:55:55
這取決於:你想展示什麼? – 2009-08-28 14:56:28
簡單的答案是隻寫入你的連接,以便第一個表只匹配第二個中的一個結果。但爲了做到這一點,我們需要更好地理解什麼標準應該確切地定義應該是哪一行。 – 2009-08-28 15:03:31