Sæt limit clause på case?

Tags:    mysql sql

Hej Alle,

Jeg har en tabel, hvor der er et enum felt, der indeholder enten 'ja' eller 'nej'.

Når feltet er 'ja' - Så vil jeg i min select gerne indsætte en LIMIT 1 clause, og hvis det er 'nej', så skal den bare køre uden.

Jeg går ud fra man skal indsætte den case i slutningen, men jeg gør det uden tvivl forkert, og får fejl.

Dette er hvad jeg har:

Fold kodeboks ind/udPHP kode 


Eller sætte LIMIT = CASE (Men giver stadig fejl)

Fold kodeboks ind/udPHP kode 


Er sikker på der er et par stks. derude der kan se hvad jeg gerne vil -
Ser frem til at høre fra jer!
/Klemme



Indlæg senest redigeret d. 04.10.2013 12:49 af Bruger #16555
1 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Jeg tror ikke at det kan gøres på den måde. LIMIT begrænsningen tjekkes på alle resultrækkerne. Dvs. din LIMIT bliver ikke kørt per. række og det vil derfor ikke give mening at ændre på LIMIT afhængig om Multi er 'ja'. Hvis der er 4 rækker hvilken Multi skal den tjekke på?

Lad som om LIMIT ikke er der og du får så følgende rækker:
11, "ja"
11, "ja"
17, "nej"
14, "ja"

Det er dem som LIMIT påføres. Kan det være det faktisk er 'displayCatId' du vil gruppe på? Dvs. at de 2 første rækker i mit eksempel skulle blive til en i resultatet? Prøv og forklare det ønskede resultat.



t