down_spiral69 Posted December 20, 2003 Share Posted December 20, 2003 Hi all, I\'m in the process of converting phpSurvey to MySQL, and I\'m nearly finished now. My main problem is subselects, or rather, how to replace them. Here\'s a query that I have to fix: SELECT * FROM respondent WHERE respondentID NOT IN (SELECT respondentID FROM assign WHERE surveyID = $surveyID) - with $surveyID being a variable. After consulting the MySQL manual and phpFreaks, here\'s my first guess at a replacement query: SELECT respondent.* FROM respondent LEFT JOIN assign ON respondent.respondentID = assign.respondentID WHERE assign.surveyID = $surveyID AND assign.respondentID IS NULL However, the where clause is impossible. If anyone has any suggestions, please let me know. Quote Link to comment Share on other sites More sharing options...
down_spiral69 Posted December 20, 2003 Author Share Posted December 20, 2003 Oh, and here\'s another major problem piece of SQL: SELECT * FROM survey S WHERE 1 AND S.status != -1 AND S.status != 0 AND (S.owner = \'root\' OR S.surveyID IN ( SELECT surveyID FROM access WHERE username = \'root\' AND ( permission = 2 OR permission = 3 OR permission = 6 OR permission = 7 ) ) ) I don\'t even know where to start with this one! Quote Link to comment Share on other sites More sharing options...
DaMaAn Posted December 26, 2003 Share Posted December 26, 2003 Not a complete solution, maybe not even close to an answer, but to reduce complexity use \"permission in (2,3,6,7)\" in the later SQL statement. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.