Avatar billede aller Nybegynder
04. april 2008 - 22:04 Der er 4 kommentarer

select * men ikke alligevel

Ja, titel er lidt mærkeligt, her følger forklaring :o)

Jeg har en tabel med nyheder. Nogle af nyhederne har vi selv skrevet, de er markeret med 1. Resten af nyhederne er fra eksterne kilder, de er markeret med 0.

Min SQL-sætning skal være som følger:

Vælg alle som har flag 0, og vælg alle som har flag 1 men blot ikke de 6 nyeste med flag 1. De skal begge sorteres som "id desc"...

MySQL tillader jo ikke brugen af LIMIT i forbindelse med subqueríes, det har jeg prøvet.

Al hjælp vil jeg taknemlig for... :-)
Avatar billede arne_v Ekspert
04. april 2008 - 22:20 #1
Proev den lidt absurdt udseende:

SELECT *
FROM tblnam a LEFT JOIN (SELECT id FROM tblnam WHERE flag=1 ORDER BY id DESC LIMIT 6) b ON a.id=b.id
WHERE b.id iS NULL
ORDER BY a.id DESC
Avatar billede aller Nybegynder
04. april 2008 - 23:36 #2
Den kunne jeg ikke få til at virke. Den vil ikke skrive rs("id") ind i mine <a href> tags af en eller anden årsag.
Avatar billede arne_v Ekspert
04. april 2008 - 23:52 #3
Du skal nok navngive felterne:

SELECT a.id as id,a.x as x,...
Avatar billede aller Nybegynder
05. april 2008 - 00:20 #4
Det kigger jeg lige på i morgen, når jeg kommer hjem fra arbejde.

Tak for hjælpen indtil videre :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester