aşağıdaki SQL
sorgu var:SQL Sorgusu - VAKA Beklenmedik Token
SELECT w.id, w.name, m.subject, m.id
FROM users AS w, i_c AS c,
(SELECT _id, u_id, subject FROM i_m WHERE (_id, tmstmp) IN
(SELECT _id, max(tmstmp) FROM i_m GROUP BY _id)) m
WHERE (c.uid_1 = '2' OR c.uid_2 = '2') AND
CASE WHEN c.uid_1 = '2' THEN w.id = c.uid_2
WHEN c.uid_2 = '2' THEN w.id = c.uid_1 END
AND (c.id = m.id) ORDER BY m.tmstmp DESC
Bu ikinci sunucuda, benim ilk sunucuda çalışıyor ama bana biraz benzer baktım
Unexpected Token. (near "c" at position 280)
verir sorunlar ama hala çözüm bulunamadı. Sorun şu ki CASE
.
Herkes bana yardımcı olabilir mi? Herhangi bir yardım çok takdir edilecektir. Şimdiden teşekkürler.
YA-ed koşulları davayı değiştirin olurdu daha iyi. (Optimize etmeyi kolaylaştırır.) – jarlh
"Çalışır" çünkü MySQL, aslında 0 veya 1 döndüren boolean ifadeleri yapar. Bu, başka bir DBMS'de görmediğim bir şeydir. (İkinci mesajın aslında MySQL olmadığı, çünkü hata mesajının böyle görünmediği sanılmayacaktı.) –