Gå til innhold

Anbefalte innlegg

Jeg har en tabell med flere felt. Hvis jeg ønsker å se alle rader unntatt densom har felt2 = 199 i kombinasjon med felt3 = AAA, hvordan skrives det. Noe ala

 

select * from tabell where not like (felt2 = 199 and felt3 like 'AAA')

 

Det er sikkert en enkel løsning, men jeg har den ikke klart for meg på en natt til søndag.

Lenke til kommentar
Videoannonse
Annonse

Der var det jo en smule rotete, LIKE er for det første ment å brukes i streng-uttrykk med "jokernotasjon", dvs. du kunne feks skrevet

 

select * from tabell where felt3 like = 'AAA%' for å få med alle rader der felt3 starter med AAA.

 

Videre, når du bruker LIKE, som du forøvrig ikke trenger å gjøre her, så må du jo ha to operander, altså noe som man skal sjekke om er omtrent likt noe annet. Med ...where not like ... oppgir du bare en operand.

 

Det du er ute etter er

 

select * from tabell where felt2 <> 199 and felt3 <> 'AAA'

 

... dersom jeg forstår deg rett, altså alle rader unntatt de hvor både felt2= 199 and felt3 = 'AAA' på en gang.

Lenke til kommentar

Jo, som sagt kan du f.eks. bruke blablabal like 'AAA%' for å sjekke om en streng starter på AAA.

 

% betyr hvilken som helst streng

_ betyr hvilken som helst char

[] sekvens, f.eks. Phone LIKE '[4-6]_6%' dvs. begynner på 4,5 el. 6, 3 siffer må være 6 og så kan resten være som det vil.

Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...