This is a SQL 2000 question regarding subqueries and variables. I Have a large select which looks like this: SELECT dbo.Sites.sitename, dbo.Member.fname, dbo.Member.lname, dbo.Member.address1, dbo.Member.address2, dbo.Member.city, dbo.Member.state, dbo.Member.zip, dbo.Member.country, dbo.Member.title, dbo.Member.phone, dbo.Member.fax, dbo.Member.salutation, dbo.Member.last_visit, dbo.Approved_Product.name AS [Product Name], dbo.Approved_Company.name AS [Company Name], dbo.Product_log.date_enter, (SELECT Response.Answer FROM response WHERE response.qid = 1 AND response.member_id = member.uid) AS Job, (SELECT Response.Answer FROM response WHERE response.qid = 2 AND response.member_id = member.uid) AS IndustryFROM dbo.Product_log INNER JOIN dbo.Member ON dbo.Product_log.uid = dbo.Member.uid INNER JOIN dbo.Approved_Product ON dbo.Product_log.prod_id = dbo.Approved_Product.prod_id INNER JOIN dbo.Approved_Company ON dbo.Approved_Product.company_id = dbo.Approved_Company.company_id INNER JOIN dbo.Sites ON dbo.Product_log.site_id = dbo.Sites.siteid CROSS JOIN dbo.ResponseWHERE (dbo.Product_log.date_enter BETWEEN '10/25/05' AND '10/26/05')
And this runs absolutely fine. However, when I change the SQL to use a variable for the start and end date like this: SELECT dbo.Sites.sitename, dbo.Member.fname, dbo.Member.lname, dbo.Member.address1, dbo.Member.address2, dbo.Member.city, dbo.Member.state, dbo.Member.zip, dbo.Member.country, dbo.Member.title, dbo.Member.phone, dbo.Member.fax, dbo.Member.salutation, dbo.Member.last_visit, dbo.Approved_Product.name AS [Product Name], dbo.Approved_Company.name AS [Company Name], dbo.Product_log.date_enter, (SELECT Response.Answer FROM response WHERE response.qid = 1 AND response.member_id = member.uid) AS Job, (SELECT Response.Answer FROM response WHERE response.qid = 2 AND response.member_id = member.uid) AS IndustryFROM dbo.Product_log INNER JOIN dbo.Member ON dbo.Product_log.uid = dbo.Member.uid INNER JOIN dbo.Approved_Product ON dbo.Product_log.prod_id = dbo.Approved_Product.prod_id INNER JOIN dbo.Approved_Company ON dbo.Approved_Product.company_id = dbo.Approved_Company.company_id INNER JOIN dbo.Sites ON dbo.Product_log.site_id = dbo.Sites.siteid CROSS JOIN dbo.ResponseWHERE (dbo.Product_log.date_enter BETWEEN @START_DATE AND @END_DATE)
I get "ADO error: Syntax error". I have tried looking for this and I Can't figure out what is wrong with the query or why I can't mix variables when I use subqueries. Any ideas on this one?