Probleem met PostgreSql
Ik ben nu al aantal uren bezig met 1 stukje code, dit is de query:
Code
maar hij geeft ook als er in de db geen results staan die matches
9 results terug (van de 10 rijen in de database)
Wat doe ik hier fout?
Het betreft PostgreSql..
Groeten
edit:
Normaal is die 150 een dynamisch getal maar ik ging nu verder testen met een vast getal zodat het daar niet aan zou liggen.
Gewijzigd op 01/01/1970 01:00:00 door Paul K
Quote:
maar hij geeft ook als er in de db geen results staan die matches
Wat zijn "die matches" ?
Wanneer de database resultaten geeft, dan zijn er resultaten. Zeker wanneer je PostgreSQL gebruikt, die verzint geen resultaten die er niet zijn. Het is geen MySQL... ;)
Waarschijnlijk moet je even beter gaan testen en beter kijken welke data er in de database staat en welke resultaten je dan kunt verwachten bij welke queries. Even netjes uitschrijven, via pgAdmin3 testen en klaar ben je.
w_opp is op 1 veld 100 en bij alle anderen lager
(Gebruik nu deze query:)
SELECT apnr,straatnaam,huisnummer,postcode,status,von_kk,status,bj,won_det,prijs,w_opp,plaats FROM aanbod WHERE intstatus = '1' AND w_opp BETWEEN '100' AND '999'
het rijtje met de w_opp values is hetvolgende:
90
87
52
51
85
68
60
90
60
100
het veld heeft type character varying(3)
Kortom, je hebt de verkeerde datatypes gekozen. Een varchar() gebruik je UITSLUITEND wanneer er geen beter datatype beschikbaar is. In jouw geval ben je blijkbaar op zoek naar getallen en dus zul je een getal moeten opslaan. Een integer of een numeric ligt voor de hand.
Ps. Ga alle kolommen in jouw database controleren en herstellen, dit soort vouten zullen nog veel meer voorkomen. Er gaat tenslotte geen lichtje branden wanneer je hier roept dat je een varchar gebruikt voor getallen.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Hoe kan je in phpPgAdmin een datatype wijzigen (A)?
Heel erg bedankt voor de hulp want nu kan ik eindelijk verder het afmaken (na 4 uur :P)
En zou je nog even kunnen helpen met die query voor het wijzigen van het type (A)?
Dan de query:
Mocht de query mislukken en gaan klagen over "cannot be cast to type", dan heb je blijkbaar foute data in de kolom gezet, data die niet in een integer past. Dus iets anders dan een geheel getal. Deze data mag je dan eerst handmatig gaan opschonen en dán pas kun je de kolom gaan aanpassen.
Voortaan gewoon direct het juiste datatype kiezen, scheelt je een hoop werk en een corrupte database. Want met jouw oplossing ben je corrupte data aan het aanmaken.