Verschil tussen cijfers en letters?
select * where column1 and column2 = 'white'
krijg ik als resultaat de records waar een code staat in column1 behorende tot
de categorie white.
Vreemd is echter dat ik de codes zie welke beginnen met 0-9 en niet die met A-Z ofschoon ook die behoren bij white.
Is daar wat aan te doen?
regards
Neem ook aan dat je query meer is dan alleen
Dat je query werkt had ik niet verwacht. Volgens mij moet je per 'column' aangeven waar je mee wilt vergelijken.
Tevens mis ik ook een FROM...
Ook daarom had ik niet verwacht dat de query zou werken ;-)
SELECT * FROM table_name WHERE column1 AND column2 = 'white'
Het werkt wel, echter, in column1 staan getal/cijfer combinatie's, beginnen zij met een cijfer dan worden die getoond, echter niet die beginnen met een letter.
SELECT * FROM table_name WHERE column1 = 'white' AND column2 = 'white'
Quote:
Dat je query werkt had ik niet verwacht. Volgens mij moet je per 'column' aangeven waar je mee wilt vergelijken.
Dit werkt wel! hierbij een beter voorbeeld
De database heeft bijv. 5 records. vier hebben een inhoud (getal/cijfer combinatie's) bijv:
354YU8
90T3ER
AG685E
Bovenstaande query werkt wel maar het geeft drie records weer, diegene die met een cijfer beginnen en niet met een letter!
354YU8
90T3ER
23EWDT
Koosje, het werkt dus niet en het moet dus anders. Waarom niet gewoon onze verbeterpunten gebruiken i.p.v. eindeloos doorgaan met een verkeerde query?
OK, dan ziet ik nu even klem. In column1 heeft ieder record een ander inhoud. Zou het niet verder weten. Iets veranderen aan de structuur van de database veld,tupe, collatie, attributen?
Wouter J op 09/07/2012 09:05:36:
Lezen is ook moeilijk, Koosje:
Quote:
Dat je query werkt had ik niet verwacht. Volgens mij moet je per 'column' aangeven waar je mee wilt vergelijken.
- SanThe - op 09/07/2012 01:46:08:
WHERE column1 is wat?
SELECT * FROM table_name WHERE column1 = 'white' AND column2 = 'white'
SELECT * FROM table_name WHERE column1 = 'white' AND column2 = 'white'
Gewijzigd op 09/07/2012 10:31:17 door Wouter J
Koosje Derks op 09/07/2012 10:29:55:
OK, dan ziet ik nu even klem. In column1 heeft ieder record een ander inhoud. Zou het niet verder weten. Iets veranderen aan de structuur van de database veld,tupe, collatie, attributen?
Dan haal je column1 uit je WHERE.
- SanThe - op 09/07/2012 10:34:03:
Dan haal je column1 uit je WHERE.
Koosje Derks op 09/07/2012 10:29:55:
OK, dan ziet ik nu even klem. In column1 heeft ieder record een ander inhoud. Zou het niet verder weten. Iets veranderen aan de structuur van de database veld,tupe, collatie, attributen?
Dan haal je column1 uit je WHERE.
Geeft helaas hetzelfde resultaat
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
+-----------+-----------+
| column1 | column2 |
+-----------+-----------+
| 354YU8 | white |
| 90T3ER | white |
| AG685E | white |
| 23EWDT | white |
| XXXXXX | black |
+-----------+-----------+
| column1 | column2 |
+-----------+-----------+
| 354YU8 | white |
| 90T3ER | white |
| AG685E | white |
| 23EWDT | white |
| XXXXXX | black |
+-----------+-----------+
En dan geeft volgens jou deze query:
SELECT * FROM sometable WHERE column2 = 'white'
niet die 4 eerste rijen terug?
Onmogelijk!
Gewijzigd op 09/07/2012 15:57:46 door Ger van Steenderen
Lol Wouter, dat jij nog de moeite neemt dat te bewijzen :-)
Toch zijn die fiddle's wel een uitkomst hoor. Ipv databasedumpjes maken, zelf importeren etc.
Jammer dat ik daar nog steeds foute queries tegenkom die hier al 5 keer zijn verbeterd...
Ik zie toch in je laatste querie een duidelijk verschil in de resultaten, of moet ik naar Hans Anders? ;-)
SQL basis principe, in de WHERE clause zet je de alleen de kolommen waarop je wilt filteren. Jou eerste 2 queries zullen in vele database systemen gewoon een foutmelding opleveren (zoals het hoort)
"Als jou schoenmaat dan leef je op grote voet"
Kan jij daar iets van maken? Ik niet iig, en een database ook niet
Gewijzigd op 09/07/2012 17:37:19 door Ger van Steenderen
is Mode_S een BOOL?