2011-03-03 46 views
0

它說,在phpMyAdmin syntax error near 'SELECT c.candidate_id AS candidate_id,c.date_time_stamp AS candidate_date_time,c' at line 1幫助這個搜索查詢

SELECT * FROM states ORDER BY name ASC 

SELECT c.candidate_id AS candidate_id, 
     c.date_time_stamp AS candidate_date_time, 
     c.first_name AS first_name, c.last_name AS last_name, 
     c.availability_date AS availability_date, 
     c.experience_years AS experience_years, 
     c.phone AS phone,c.phone_alternate AS phone_alternate, 
     c.email AS email,c.bridge AS bridge,c.hot AS hot, 
     c.submitted AS submitted,c.placed AS placed, 
     sp.abbreviation AS specialty_abbreviation, 
     jt.name AS candidate_job_type,s.first_name AS staff_first_name 
FROM candidates c 
    LEFT JOIN specialties sp ON sp.specialty_id=c.specialty_id 
    LEFT JOIN candidate_job_types jt ON jt.candidate_job_type_id=c.candidate_job_type_id 
    LEFT JOIN staff s ON s.staff_id=c.staff_id 
WHERE c.active=1 AND 
     (CONCAT_WS(' ', c.first_name, c.last_name) LIKE '%gmail%' OR c.phone = 'gmail'  OR 
     c.phone_alternate = 'gmail' OR c.email = 'gmail') GROUP BY c.candidate_id 
ORDER BY c.date_time_stamp DESC LIMIT 0,100 
+0

你一定這是正確的裁判本場'c.first_name'? – 2011-03-03 17:25:46

回答

6

您,是因爲合併後的2條SELECT語句的錯誤。如果你用;將它們分開,它應該可以工作。

SELECT * 
    FROM states 
ORDER BY name ASC; 

    SELECT c.candidate_id AS candidate_id,c.date_time_stamp AS candidate_date_time, 
      c.first_name AS first_name, c.last_name AS last_name, 
      c.availability_date AS availability_date, 
      c.experience_years AS experience_years,c.phone AS phone, 
      c.phone_alternate AS phone_alternate,c.email AS email,c.bridge AS bridge, 
      c.hot AS hot,c.submitted AS submitted,c.placed AS placed, 
      sp.abbreviation AS specialty_abbreviation,jt.name AS candidate_job_type, 
      s.first_name AS staff_first_name 
    FROM candidates c 
LEFT JOIN specialties sp 
     ON sp.specialty_id=c.specialty_id 
LEFT JOIN candidate_job_types jt 
     ON jt.candidate_job_type_id=c.candidate_job_type_id 
LEFT JOIN staff s 
     ON s.staff_id=c.staff_id 
    WHERE c.active=1 
     AND (CONCAT_WS(' ', c.first_name, c.last_name) LIKE '%gmail%' 
     OR c.phone = 'gmail' 
     OR c.phone_alternate = 'gmail' 
     OR c.email = 'gmail' 
     ) 
GROUP BY c.candidate_id 
ORDER BY c.date_time_stamp DESC 
    LIMIT 0,100; 
0

您正在執行兩個select語句。使用分號:

SELECT * FROM states ORDER BY name ASC; 
SELECT c.candidate_id AS [...] 
0

問題只是在開頭:SELECT * FROM states ORDER BY name ASC SELECT c.candidate_id ...

使用分號把分開不同的搜索:SELECT * FROM states ORDER BY name ASC; SELECT c.candidate_id...