2010-08-31 7 views
0

J'ai une requête sql suivante quand je l'exécute zéro lignes sont affichées j'ai feild appelé distance avec la valeur null, quand j'exécute cette requête la distance feild sera remplie avec une valeur numérique mais si je spécifie la distance de condition < 2 ou la distance < 10 ou ... le même résultat est affiché puis-je savoir quel est le problème.Erreur avec la clause where dans la requête sql

SELECT Id,Name1,ZipCode,StreetName,StreetNumber,State1,Lat, 
    Lng,Keyword, 
    (6371 * ACOS(COS((12.925432/57.2958)) 
    * COS( (Lat/57.2958) ) * COS((Lng/57.2958) - (77.5940171/57.2958)) 
    + SIN(12.925432/57.2958) * SIN( Lat/57.2958 ))) AS distance 
    FROM Business_Details 
    where ( 
    (StreetName like '%jayanagar%') 
    and (Keyword like '%plumbing%') 
    and (distance<3) 
    ) 
    ORDER BY distance; 
+2

Acceptez quelques réponses à vos questions précédentes, vous gagnerez la réputation! – fredley

Répondre

0

Cette requête particulière peut être exécuté avec succès en créant une vue dans sql. créer vue entreprise comme SELECT ID, Nom1, ZipCode, StreetName, StreetNumber, État1, Lat, Lng, Mot clé, (6371 * ACOS (COS ((12.925432/57.2958)) * COS ((Lat/57.2958)) * COS (Lng/57.2958) - (77.5940171/57.2958)) + SIN (12.925432/57.2958) * SIN (Lat/57.2958))) AS distance FROM Business_Details ORDER BY distance; Cette vue particulière contient les résultats avec la distance feild puis nous pouvons interroger l'entreprise d'affichage pour manipuler les résultats de notre valeur de distance entré sélectionner * à partir de l'entreprise où (distance < 2);

2

Vous avez été des réponses plus tôt ...

[How to use" HAVING "and "ORDER BY" clause in sql

Vous ne pouvez pas se référer à distance de champ où l'article, vous devez utiliser:

(6371 * ACOS(COS((12.925432/57.2958)) 
* COS( (Lat/57.2958) ) * COS((Lng/57.2958) - (77.5940171/57.2958)) 
+ SIN(12.925432/57.2958) * SIN( Lat/57.2958 ))) < 3 
+0

Merci pour la réponse, j'ai fait des changements à ma requête comme vous l'avez suggéré mais le résultat est vide je ne suis pas capable de suivre où est le problème est leur autre moyen de résoudre ce problème. – mahesh