PDA

View Full Version : مشکل در کوئری گرفتن



sitara24
یک شنبه 25 اردیبهشت 1390, 21:47 عصر
من سه تا جدول دارم
questions:
id
question
(true,false)type
RESPONSES:
id
questionid
memberid
response
MEMBERS:
id
name
حالا توی این جدول ها QUSTIONS.id با RESPONSES.qustionid و RESPONSES.qustionid با MEMBERS.id رابطه دارند.
حالا من میخوام کوئری بنویسم که فیلد های name و response برای question هایی که مقدار type آنها true هست رو نمایش بده.من خودم دو تا کد نوشتم ولی نمیدونم درسته یا نه.
SELECT Question
FROM Questions
WHERE (type='True' AND (SELECT Response
FROM Responses
WHERE (QuestionID =Questions .ID AND (SElECT Name
FROM Members
WHERE ID =Responses .MemberID ))



و کد:
SELECT Question ,
(SELECT Response ,
(SELECT Name FROM Members WHERE ID = Responses .MemberID )
FROM Responses
WHERE QuestionID = Questions .ID )
FROM Questions
WHERE type='True'

البته اینا هر کدوم 2 تا ارور هم میده.
ممنون اگه کمک کنین

محمد سلیم آبادی
دوشنبه 26 اردیبهشت 1390, 05:32 صبح
پستتون باید در تالار T-SQL ارسال میشد.


/*Join: Old Syntax*/
SELECT name, question
FROM Members M, Responses R, Question Q
WHERE M.id = R.memberid
AND R.questionid = Q.id
AND type = 'true';

/*Join: New Syntax*/
SELECT name, question
FROM Members M
JOIN Responses R
ON M.id = R.memberid
JOIN Question Q
ON R.questionid = Q.id
WHERE type = 'true';

sitara24
دوشنبه 26 اردیبهشت 1390, 11:05 صبح
ممنون دوست عزیز.به نظرم تنها تالاری که درست جواب سوال ها رو میدن تالار sql هست.بازم ممنون

احسان شمس
چهارشنبه 25 خرداد 1390, 08:56 صبح
سلام بهتر است با دستور جوین بنویسید.(join):متعجب: