Vinnaren i pepparkakshustävlingen!
2009-06-05, 16:24
  #1
Medlem
ozelotbeavers avatar
Jag skall med hjälp av en databas över filmer sortera dessa efter produktionsår. Har inga som helst problem att få fram de värden som ska in i tabellen men uppgiften ligger i att presentera dessa på nedanstående sätt:

-95 95-97 98-00 01-03 04-
--------- --------- --------- -------- ---------
0 3 8 4 0

Jag kan inte komma på hur jag ska göra. Årtalen och strecken måste läggas in manuellt altså som values medans siffrorna kommer från en select count-sats vilka värden jag inte kan lägga in i samma tabell?

Eller kan man göra på något annat sätt?

Mycket tacksam för hjälp!
Citera
2009-06-05, 16:26
  #2
Medlem
ozelotbeavers avatar
oj nu blev de lite konstigt med upplägget på tabellen men meningen är att varje årskategori ska se ut så här:

-95
---------
0

och följa på varandra horisontiellt i utskriften.
Citera
2009-06-05, 18:06
  #3
Medlem
ozelotbeavers avatar
ok.. inser nu att ajg egt kanske frågar efter lite mycket.. men om jag bryter ner det så här..

Hur lägger jag in resultatet av följande sats i redan existerande tabell?

select count(id)
from movie
where year < 95
Citera
2009-06-05, 19:14
  #4
Medlem
googlevistas avatar
Jag tror du är ute och cyklar lite här... Varför ska du stoppa in resultatet av dina frågor i en tabell? Tabeller används för att lagra data, inte för att lagra resultat av frågor.

Frågor ställer man mot datat i sina tabeller, sen presenterar man resultatet på lämpligt vis, t.ex. på en webbsida.

Sen tycker jag ursprungsfrågan är lite konstig... varför är det uppdelat som det är? Allt innan -95 summeras i en klump, sen summeras det på 3 års intervall, tills -04 då allt därefter summeras i en klump? Känns besynnerligt.

Men exakt den frågan skulle kunna se ut nåt sånt här:
Kod:
select 
(
	select count(id)
	from movie
	where year < 95
) as [-95],
(
	select count(id)
	from movie
	where year between 95 and 97
) as [95-97],
(
	select count(id)
	from movie
	where year between 98 and 00
) as [98-00],
(
	select count(id)
	from movie
	where year between 01 and 03
) as [01-03],
(
	select count(id)
	from movie
	where year > 03
) as [04-]
Orkar inte testa men ovanstående, eller nåt åt det hållet, borde nog funka.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback