mysql - 帮助完成此搜索查询

标签 mysql sql

它在 phpmyadmin 第 1 行的 'SELECT c.candidate_id AS candidate_id,c.date_time_stamp AS candidate_date_time,c' 附近显示语法错误

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 

最佳答案

由于合并了两个 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;

关于mysql - 帮助完成此搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5184166/

相关文章:

mysql - 在 MySQL 的条件排序中混合升序和降序排序

java - 如何在 Talend Open Studio 作业中将 SQL 查询作为上下文变量传递

mysql - MySQL 中何时使用单引号、双引号和反引号

c# - 基于现有查询构建动态查询(或算法)

mysql - 如何设计表,以便删除相关表上的查询只会删除它们之间的关系?

c# - 如何将对象从 C# 序列化到 mySql 数据库

php - 如何将数组限制为一定数量?

mysql - mysql 容器中的 docker secret 工作流程

mysql - UPDATE IF EXISTS 错误

sql - 将多个查询结果合并到一张表中,结果顺序是如何确定的?