09. juli 2013 - 13:47
Der er
9 kommentarer og 1 løsning
Få specifikke resultater fra MySQL-query
Hej Eksperter Jeg har et problem. Jeg vil gerne have de rette rækker frem, men det ser ikke ud til at virke. Kan I mon hjælpe mig lidt på vej? Jeg skal have lavet en hvor rækkerne kun kommer frem og en hvor de ikke kommer frem. Jeg har selv forsøgt mig ud i dette:SELECT * FROM system_bookings WHERE accepted !='no' OR accepted !='cancelled' OR paid !='yes' ORDER BY id DESC Håber i kan hjælpe, på trods af sommervarmen :)
Annonceindlæg fra HP
Så er spørgsmålet bare, hvilke er de rette rækker???
SELECT * FROM system_bookings WHERE (accepted !='no' OR accepted !='cancelled') AND paid !='yes' ORDER BY id DESC Men det er rent gætteri.
Hej Michael Kan godt forstå forvirringen. Der må hverken være 'no' eller 'cancelled' i 'accepted' eller 'yes' i 'paid'. Altså den skal vise de rækker hvor det ikke er tilfældet.
Så burde den fungere i #2
Hej Michael Det virker ikke. Den fjerner kun den hvor 'paid' er = 'yes'.
Så se om no eller cancelled står rigtigt i din tabel. Tænk på store og små bogstaver.
Det står rigtigt nok. Jeg tror det er det med at 'paid' skal være 'yes' der gør det. Kan den ikke se sådan ud at det er fuldstændig ligegyldigt hvilke af de tre felter som har den givne værdi?
Hvordan kan man lave en SQL query, som bare udelukker to muligheder. SELECT * FROM systems_bookings WHERE id = '".$_GET['id']."' OG UDELAD HVIS paid = yes OG HVIS accepted = cancelled Altså de kan ikke begge være opfyldt. Enten er den yes i paid eller cancelled i accepted. Det er virkelig svært for mig at forklare, og har googlet løs :)
Fandt denne: select * from table1 where not (column1 like '%value1%' or column1 like '%value2%' or column1 like'%value3%'); Det virkede :) Michael, tak for din hjælp! Hvis du vil have point så smid et svar ;)
24. juli 2013 - 10:36
#10
Lukker ;)
Computerworld tilbyder specialiserede kurser i database-management