Med risk för fel forum... Vill du: @Pelle: Funkar inte det heller, Med: du kan alltid flytta ut kontrollen av dubletter utanför, dock Den här listan visar upp vilka som har anmält sig till ett lan. Det jag vill förhindra är att samma person ska anmäla sig mer än en gång. Men detta kanske kan göras på något annat sätt men hur? Det bästa är ju att du vid registreringen kontrollerar så att samma person bara registrerar sig en gång och får ett meddelande om att han redan är registrerad istället för att sköta det vid presentationen. <code>Formulering av Select sats.
Behöver lite hjälp med formulering av en SQl Select sats.
Detta ska den göra:
* Visa Top 20 Namn
* Order By id
* From lan
* Den ska kolla så att inte samma Namn listas mer än en gång.
* Även sotera de som uppfyller WHERE mem = 'X' (Har värdet X) så de kommer före resten.
Går dett att fixa och isf hur? DISTINCTROW kanske ska användas? Men hur?Sv: Formulering av Select sats.
1.
Plocka ut de 20 högsta baserat på id, och sedan sortera dessa 20 där mem='X' har "förtur"
2.
Plocka ut de 20 högsta id där mem='X' och sedan fylla på med de andra högsta id där inte mem='X' så att du kommer upp i 20?
/JohanSv: Formulering av Select sats.
Feltyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'Id group by Namn'.
@JohanD: Alternativ 2 ("Plocka ut de 20 högsta id där mem='X' och sedan fylla på med de andra högsta id där inte mem='X' så att du kommer upp i 20?")
Är exakt det som jag vill göra. Plus att den kollar så att inte samma namn visas mer än en gång.Sv: Formulering av Select sats.
<code> SQL = "select distinct top 20 namn,id,mem from lan order by mem desc, id"</code>
Så funkar upplistningen så att de med värdet x i mem kommer före de andra men den kollar inte så att inte samma namn skrivs två gånger...Sv: Formulering av Select sats.
får du kanske hämta lite mer information beroende på hur
många dubletter du kan tänka dig få fram på de 20 översta..
vad är problemet nu?Sv: Formulering av Select sats.
Det som inte funkar nu är att samma person kan anmäla sig två gånger. Det vill jag inte ska gå eller alternativt att det bara inte visas i listan.
Det hela går till väga genom att man fyller i ett formulär där man skriv in sitt namn, epost, telefon, nick och om man är medlem (mem). Detta sparas sedan i databasen och sen listas de upp. Listan ska visa 20 namn (för det finns bara 20 platser på lanet), medlemar har företräde men det är fortfarande först till kvarn.
id = räknare, primärnyckel
namn = text
epost = text
telefon = text
nick = text
medlem = text (är en ibockningsruta på foruläret, som skickar värdet x)
Detta kanske är till lite mer hjälp.Sv: Formulering av Select sats.
/JohanSv: Formulering av Select sats.
SQL = "select distinct top 20 namn,id,mem from lan order by mem desc, id group by namn"
</code>
vet inte hur distinct funkar men testa det här