2016-04-04 29 views
1

durumunun nereye ekleneceğini ekleyeceğim. En yakın yeri bulmak için aşağıdaki sorguyu kullanıyorum.Ama nerede hata oluştuğu yerde geçersiz ekliyorsam.php mysql sorgusunda

SELECT 
    attName, 
    description, 
    rating, 
    COMMENT, 
    latitude, 
    langtitude, 
    openingTime, 
    closingTime, 
    (
     (
      ACOS(
       SIN(".$lat." * PI()/180) * SIN(latitude * PI()/180) + COS(".$lat." * PI()/180) * COS(latitude * PI()/180) * COS(
        (".$lang." - langtitude) * PI()/180 
       ) 
      ) * 180/PI() 
     ) * 60 * 1.1515 
    ) AS distance 
FROM 
    attraction 
HAVING 
    distance < 31 
ORDER BY 
    distance 

i eklemek isem durum hatası bana nasıl yardımcı come.please nereye eklemek için nerede yukarıdaki sorgu için koşul. Bir WHERE koşuluna sahip HAVING maddesini değiştirerek

+0

Alt sorgu ile sarın ve sonra koşul ekleyin. Sanırım "WHERE distance <..." – lad2025

+0

Muhtemelen ilgili: http://stackoverflow.com/questions/3096301/sql-server-as-statement-aliased-column-within-where-statement Bu SQL içindir Sunucu ama ana fikir aynıdır – lad2025

+0

Sorgunun tam olarak neden bir soruna neden olduğunu gösterebilir misiniz? İşe yarayan bir sorgu veriyorsunuz ve bize bir şey yapıp çalışmadığınızı söyleyiniz, ama ne yaptığınızı bilmiyoruz. – klaar

cevap

0

Dene:

SELECT attName, description, rating, 
       COMMENT , latitude, langtitude, openingTime, closingTime,(
       (
       ACOS(SIN( ".$lat." * PI() /180) * SIN(latitude * PI() /180) + COS( ".$lat." * PI() /180) * COS(latitude * PI() /180) * COS((
       ".$lang." - langtitude 
       ) * PI() /180)) *180/PI() 
       ) *60 * 1.1515 
       ) AS distance 
       FROM attraction 

       WHERE distance < 31 

       ORDER BY distance 

Sonra AND this = that

A HAVING fıkra olarak addtional koşullar eklemek yaygın bir GROUP BY ile birlikte kullanılır - Eğer bizde olmayan.

SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... 
+0

Bana önerdiğiniz için teşekkür ederiz.Şimdi,/upvote kabul etmek isteyip istemediyseniz, çalışma grubu tarafından –

+0

kullanıyorum? :-) – Jan