2016-09-07 1 views
0

mysqlのエラーは次のとおりです。1064 - SQL構文にエラーがあります。使用する正しい構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください

1064 - SQL構文に誤りがあります。ライン1

で「 ticket.created DESC限界によってticket.ticket_id ORDER BY message.msg_type = R GROUP」クエリを 近くを使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認しています以下。

SELECT DISTINCT 
    ticket.ticket_id,lock_id,ticketID,ticket.dept_id,ticket.staff_id,subject,ticket.name,ticket.email,dept_name,lastresponse 
    ,ticket.status,ticket.source,message.message,isoverdue,isanswered,ticket.created,pri.* 
    ,count(attach.attach_id) as attachments 
    ,staff.firstname,staff.lastname , IF(ticket.reopened is 
    NULL,ticket.created,ticket.reopened) as effective_date FROM 
    kt_ticket ticket LEFT JOIN kt_department dept ON ticket.dept_id = 
    dept.dept_id LEFT JOIN kt_priority pri ON 
    ticket.priority_id=pri.priority_id LEFT JOIN kt_ticket_lock tlock ON 
    ticket.ticket_id=tlock.ticket_id AND tlock.expire>NOW() LEFT JOIN 
    kt_ticket_attachment attach ON ticket.ticket_id=attach.ticket_id 
    LEFT JOIN kt_ticket_message message ON 
    (ticket.ticket_id=message.ticket_id) LEFT JOIN kt_staff staff ON 
    ticket.staff_id=staff.staff_id WHERE 1=1 AND status='open' AND 
    ticket.pp_group =1 message.msg_type=R GROUP BY ticket.ticket_id 
    ORDER BY ticket.created DESC LIMIT 0,25 

+0

あなたは[受諾の回答]の習慣に取得する必要があります( http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照してください。あなたはポイントを獲得し、他の人はあなたを助けることを奨励されます。 –

答えて

3

二つの条件を以下の間に行方不明AND句があります。あなたがchracterを比較しているよう

ticket.pp_group =1 

R

message.msg_type=R 

は、単一引用符でクォートする必要があります。

だから、次のようになり、

AND ticket.pp_group =1 AND message.msg_type='R' 
+0

正しい私のためのOhhありがとう@Alok Patel。 –

+0

あなたは大歓迎です。許可されている場合は正解としてください。 –

+0

はい私はそれをして、あまりにも私の鉱山。 –

1

文字列は引用符で囲む必要があると不足している「AND」

[...] AND message.msg_type='R' [...] 

エラーメッセージは、それがあるにもかかわらず、その方向にあなたを指します少し曖昧。

+0

ありがとうbuddy @iliaz –

+0

あなたはようこそ。それが助けになった場合は、答えとして受け入れるようにしてください。 – iliaz

1

あなたが書くのを忘れて、条件

SELECT DISTINCT ticket.ticket_id, 
       lock_id, 
       ticketID, 
       ticket.dept_id, 
       ticket.staff_id, 
       subject, 
       ticket.name, 
       ticket.email, 
       dept_name, 
       lastresponse, 
       ticket.status, 
       ticket.source, 
       message.message, 
       isoverdue, 
       isanswered, 
       ticket.created, 
       pri.*, 
       count(attach.attach_id) AS attachments, 
       staff.firstname, 
       staff.lastname, 
       IF(ticket.reopened IS NULL,ticket.created,ticket.reopened) AS effective_date 
FROM kt_ticket ticket 
LEFT JOIN kt_department dept ON ticket.dept_id = dept.dept_id 
LEFT JOIN kt_priority pri ON ticket.priority_id=pri.priority_id 
LEFT JOIN kt_ticket_lock tlock ON ticket.ticket_id=tlock.ticket_id 
AND tlock.expire>NOW() 
LEFT JOIN kt_ticket_attachment attach ON ticket.ticket_id=attach.ticket_id 
LEFT JOIN kt_ticket_message message ON (ticket.ticket_id=message.ticket_id) 
LEFT JOIN kt_staff staff ON ticket.staff_id=staff.staff_id 
WHERE 1=1 
    AND status='open' 
    AND ticket.pp_group =1 AND message.msg_type=R 
GROUP BY ticket.ticket_id 
ORDER BY ticket.created DESC LIMIT 0, 25; 
+0

それが役に立つなら、答えを受け入れてください。 –

1

がクエリ

の下
SELECT DISTINCT ticket.ticket_id,lock_id,ticketID,ticket.dept_id,ticket.staff_id,subject,ticket.name,ticket.email,dept_name,lastresponse ,ticket.status,ticket.source,message.message,isoverdue,isanswered,ticket.created,pri.* ,count(attach.attach_id) as attachments ,staff.firstname,staff.lastname , IF(ticket.reopened is NULL,ticket.created,ticket.reopened) as effective_date FROM kt_ticket ticket LEFT JOIN kt_department dept ON ticket.dept_id = dept.dept_id LEFT JOIN kt_priority pri ON ticket.priority_id=pri.priority_id LEFT JOIN kt_ticket_lock tlock ON ticket.ticket_id=tlock.ticket_id AND tlock.expire>NOW() LEFT JOIN kt_ticket_attachment attach ON ticket.ticket_id=attach.ticket_id LEFT JOIN kt_ticket_message message ON (ticket.ticket_id=message.ticket_id) LEFT JOIN kt_staff staff ON ticket.staff_id=staff.staff_id WHERE 1=1 AND status='open' AND ticket.pp_group = 1 AND message.msg_type=R GROUP BY ticket.ticket_id ORDER BY ticket.created DESC LIMIT 0,25 
1

2つの問題を使用してください2間:

最初AND欠落があります:ticket.pp_group = 1をAND message.msg_type = RグループBY ticket.ticket_id ORDER BY ticket.created DESC LIMIT 0,25

二文字列は単一引用符で引用されている必要がありますmessage.msg_typeは=「R」

だから、最後の部分でなければなりません:

ticket.pp_group =1 AND message.msg_type='R' GROUP BY ticket.ticket_id ORDER BY ticket.created DESC LIMIT 0,25 
関連する問題

 関連する問題