Ett datumfält med datumet (datum) för inlägget och ett autonumber id (id) fält.
Jag vill ha en sida som visar de 20 senaste inläggen ur alla tabeller med den senaste först! Baserat på datum eftersom flera tabeller kan ge samma id-nr till olika inlägg eftersom de är i skilda tabeller (oj, trött skrivet)
sql = " select top 20 * from tabell1 order by datum desc " &_
"union all select top 20 * from tabell2 order by datum desc " &_
"union all select top 20 * from tabell3 order by datum desc " & _
"union all select top 20 * from tabell4 order by datum desc " &_
"union all select top 20 * from tabell5 order by datum desc " &_
"union all select top 20 * from tabell6 order by datum desc "
Det här förutsätter att alla tabellerna har samma definition. Annars så får du stoppa in dummy-värden i select-listan så att det stämmer.
------------------ essentitia preter non sans multiplicandum
Det fungerade perfekt i allafall. Jag vet inte varför men jag gjorde en tabell för varje kategori, hade inte så mycket koll på hur det fungerade till en början, men det är mer överskådligt just nu tycker jag, kanske blir problem senare. Jag vet inte... har ett typfält som avgör om det är en artikel eller inte iallafall, så jag förstår vad du menar... tack..
Iof's blir det enklare om jag vill lägga till fler kategorier.. nu måste jag ju in o ändra i databasen.. Tabeller går inte att lägga till genom kommando?.. ;)
Men sen? Om jag gör så, har ett "kategori" fält, o vill visa de, säg 15 senaste ur kategorin Spel, vad blir det för kod då?
select top 20 * from Bocker where kategori=spel order by datum desc
Hehe I dont know..
tack, jag märkte att det var jag som hade klantat till det..
Det här då?
SQL = "SELECT * FROM Allt where artikel like '%" & sokterm & "%' or rubrik like '%" & sokterm & "%' Order by Id Desc"
Enkelt sätt att söka på, men den ska bara söka bland de inlägg där fältet kategori='spel' tex.. hur petar jag in det. testade med AND kategori='Spel' men fungerade inte bra..
En annan sak. Nu har jag gjort om databasen så jag har Två "tables" en som alla "nyheter" sparas i o en som kommentarerna sparas i. När en kommentar skickas anges vilket ID artikeln har i fältet artikeltyp under "table" som kallas kommentarer så scripten vet vart kommentarerna skall visas. Säg nu att jag vill att det ska stå antal kommentarer någonstans på sidan tillsammans med de 20 senaste artiklarna ur "nyheter".
För tillfället:
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Application("nyhetsdatabasen")
sql = " select top 20 * from Allt order by datum desc"
Allt = Nyheterna
Kommentarer = Kommentarerna
Vill nu skriva ut:
ex. Datum - Tid - Rubrik - Antal kommentarer.
Se www.nsoft.nu/test.asp så förstår ni hur jag menar... det där va svårt att förklara, hoppas någon förstår.
så måste det finnas lika många kolumner i t1 och t2.
Om det finns två kolumner i t1 (a och b) och två kolumner i t2 (c och d) så måste a och c samt b och d vara av samma datatyp eller i alla fall typer som kan jämföras. Till exempel om a har typen int och c har type date så blir det fel.
Om nu tabellerna inte har samma antal kolumner så kan man lägga till konstanter/dummies i select-listan så att det stämmer
Om t1 har 3 kolumner och t2 har två kolumner så kan man skriva så här
select a,b,c from t1
union
select d,e,1 from t2
------------------ essentitia preter non sans multiplicandum
Om du vill få fram antalet kommentater för varje nyhet så kan du skriva en fråga som ser ut så här
sql = " select top 20 datum,rubrik(select count(*) from kommentarer where artikelid = a.id ) as antal from Allt as a order by datum desc"
set rs = connnection.execute(sql)
antalKommentarer = rs("antal")
Sparar du datum och tid i två olika kolumner? (Det är ganska onödigt i så fall.)
Du nämnde aldrig vilken kolumn i kommentarer som kopplar till allt så jag kallade den för artikelid
------------------ essentitia preter non sans multiplicandum
Ja så, jag vill räkna hur många poster i "Kommentarer" vars "artikelid" fält stämmer ihop med artiklarnas id's som listas ur "Allt". Det är ju det som är problemet..