Hvorfor vil du have mig til at søge efter en værdi i 1 hvis man ikke vil søge efter en værdi i 1....
Du kan også skrive: WHERE 1<=1 WHERE 1>=1 WHERE 1!=1
- men jeg har ikke noget at bruge det til.... Jeg skal bare have fundet ud af om der er en måde man kan lave en WHERE-clause så den nærmest springer over den
ligesom med SELECT * FROM table... Her tager den alle cols i modsætning til her: SELECT id, nanv FROM table
select * from table where 1=1 springer i princippet where clausen over, fordi 1 altid er lig med 1 ... Du kan så tilføje lige så mange andre kriterier bagefter men 1=1 er altid sand oig vil derfor vælge alt
Jeg har forstået hvad du mener, men jeg prøver at tænke, så jeg kan svare på dit spørgsmål. Mit SQL er desværre blevet noget rustent, så der er ingen garantier. Nu jeg har forstået dit spørgsmål, er mit også blevet besvaret og det er ja.
Jeg kan desværre ikke huske, hvad det er man skal skrive, for at den spørger om det ønskede. Det SQL materiale jeg havde, befinder sig på en tidligere arbejdsplads.
jeg vil da mene at hvis man skriver where 1=1, så vil den lede efter en kolonne der hedder 1 og hvor værdien er 1 - der skal jo ikke søges i nogen kolonne. til gengæld kan du skrive
select * from tabelnavn where 1
den skulle virke uanset om det er numeriske eller alfanumeriske kolonner
superman69>what is wrong with -mundi-'s answer? You do NOT need to use WHERE if you want to see "ALT" There is NO LOGIC in using WHERE if you want to see everything but if you MUST then
hi fri-hash>Sorry! I hadn't even seen you answer as I could see that superman69 didnt seem happy with any of those already give, and I wanted to know WHY WHERE couldnt be used and just added select * from tabel WHERE 1 as I know it works. Once again sorry, not trying to take points from you :o)
UDBEDRING AF SPØRGSMÅL: Jeg har en form hvor jeg sender nogle <input type="checkbox">... Brugeren kan altså vælge variablen eller lade være
eks. $var = 'noget' || $var = ''
Jeg vil så hente det fra min db...
eks. SELECT id, navn FROM table WHERE var='noget' && var1='noget' && var2='noget'
- men hvis $var ikke er valgt kommer min query til at se sådan ud
eks. SELECT id, navn FROM table WHERE var='' && var1='noget' && var2='noget'
- så er problemet at den kun finder de rækker hvor $var = '', og det er jo ikke meningen... Jeg vil gerne have sådan at den så i stedet finder ALT. Altså den skal springe over den WHERE-clause hvor variablen er = ''
superman69> You have to build your SQL dynamically. This means that IF for example the field var contains something then you use this in the select.
THIS IS ONLY AN EXAMPLE:
Dim sSQL sSQL = "SELECT id, navn FROM table WHERE 1" If not Isnull(var) then sSQL = sSQL & " AND var = 'noget' " end if If not Isnull(var1) then sSQL = sSQL & " AND var1 = 'noget' " end if
and so on ....
NOTICE: "SELECT id, navn FROM table WHERE 1" !!!!!!!
If NO fields contain data then all records are selected.
and superman69, if you cant accept this answer then SORRY YOU HAVE RUN OUT OF TIME :o)
NO it is an EXAMPLE as to how to dynamically build an SQL statement in code.
You have gone WAY OFF track from your original question, you are ALSO wanting an answer concerning WEB (ASP or PHP) programming which has very liitle to do with SQL either.
I am English, but it takes far too long to write Danish, and danes are good at English :o)
MySQL is a database NOT a programming langauge, and making a WEB page doesnt necessarily have anything at all to do with MySQL. Just to make a poínt what langauge are you using to make you web page?
I cant give you an answer to HOW to solve this in the language which you are using, but I can give you an example as to HOW to get around the problem you are having, and this is the CORRECT way!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.