Avatar billede hundevennen Nybegynder
24. februar 2010 - 08:03 Der er 9 kommentarer og
1 løsning

Hjælp med SQl sætning

jeg skal ha fundet procentværdien  af følgende:

jeg har 2 tabeller tab 1 og tab 2 - i tab1 feltet a og i tab2 feltet b.
så jeg skal altså ha selected de 2 tabeller og lavet noget med at felta/feltb*100
24. februar 2010 - 08:47 #1
Jeg gaetter lidt paa hvad du har og hvad du vil.  Jeg lavede to tabeller, hundevennen1 og hundevennen2, hver med to felter, et navn og en vaerdi.  Saa soeger jeg i tabellerne efter de procentvaerdien af de to vaerdier.  Her er min query:

SELECT a, b, a/b*100 AS percent
FROM hundevennen1 h1 JOIN hundevennen2 h2 ON h1.navn = h2.navn
WHERE h1.navn = 'navn1'

a  b  percent 
25 12 208.3333


Her er tabellerne:

CREATE TABLE hundevennen1(navn VARCHAR(5), a INT);
CREATE TABLE hundevennen2(navn VARCHAR(5), b INT);

INSERT INTO hundevennen1 VALUES('navn1', 25);
INSERT INTO hundevennen1 VALUES('navn2', 37);
INSERT INTO hundevennen1 VALUES('navn3', 51);
INSERT INTO hundevennen2 VALUES('navn1', 122);
INSERT INTO hundevennen2 VALUES('navn2', 133);
INSERT INTO hundevennen2 VALUES('navn3', 144);

Var det hvad du var efter?  Hvis ikke saa forklar mere.
24. februar 2010 - 08:50 #2
Resultatet staar ikke saa tydeligt (mellemrummene forsvandt).  Her er det:

a - b - percent

25 12  208.333

Og tilsvarende kan du naturligvis soege efter procentvaerdierne svarende til navn2, navn3, o.s.v.
Avatar billede hundevennen Nybegynder
24. februar 2010 - 12:22 #3
jeg arbejder med Mapinfo et geoinformationsprogram, hvor man kan foretage en sqlforespørgsel ind i de data man arbejder med og det er dertil jeg skal bruge sqlsætningen.
Problemer er bare at jeg kan ikke oprette tabeller, men jeg prøver om jeg kan bruge din sætning eller rette den lidt til.
Ellers foregår det på den måde, at man åbner de to tabeller, hvorefter data er tilgængelig og så er det jeg skal ha lavet procenten ved at selecte de 2 tabeller og lave udregningen på de to felter?
24. februar 2010 - 13:07 #4
Fortael mig mere om de tabeller.  Hvad hedder tabellerne (de hedder vel ikke "tab 1" og "tab 2" men har navne der skal indsaettes i sqlforespoergslerne.  Hvilke kolonner/felter er der i tabellerne?  Kun en enkel kolonne med en vaerdi?  Og hvad er navnene paa felterne?  "a" i "tab 1" og "b" i "tab 2" eller noget andet?  Og er der i hver tabel kun en enkelt raekke eller staar der i hver tabel adskillige raekker med vaerdier?  Hvis der er flere raekker hvordan ved man saa hvilken raekke i "tab 1" der skal sammenlignes med hvilken raekke i "tab 2."  Kan du give konkrete resultater paa indholdet i en saadan tabel?
Avatar billede hundevennen Nybegynder
24. februar 2010 - 14:38 #5
kommer tilbage imorgen
Avatar billede hundevennen Nybegynder
25. februar 2010 - 07:12 #6
jeg kan godt se at der er et problem med rækkerne i tabellerne.
Altså hvilke rækker der skal sammenlignes med hinanden.Der er desværre kun 1 kolonne i den ene tabel, så det kan formentlig slet ikke lade sig gøre, - jeg vil arbejde på at få en kolonne ind i hver tabel så man kan lave en sammenligning - vender tilbage
26. februar 2010 - 09:37 #7
Maaske skulle du fortaelle lidt mere om hvad du arbejder med, hvor vaerdierne kommer fra, hvad de representerer, og hvad du skal bruge dem til.  Ud fra det kunne vi maaske ved faelles hjaelp finde ud af at komme videre.
Avatar billede hundevennen Nybegynder
26. februar 2010 - 10:53 #8
kender du noget til Mapinfo
26. februar 2010 - 13:24 #9
Nej, jeg kender ikke noget til Mapinfo, ud over den ene oplysning du gav at det er et geoinformationsprogram (som jeg ogsaa ville have gaettet fra titlen.)  Hvis du ikke kan forklare det uden at jeg kvalificerer mig ved at laere Mapinfo saa foreslaar jeg at vi holder her.  Jeg vil saa foreslaa at du lukker spoergsmaalet (du faar naeppe friske indlaeg paa et spoergsmaal der er nogle dage gammelt og derfor sunket "under horisonten) og saa eventuelt aabne et nyt spoergsmaal hvor du forklarer dig lidt tydeligere, efter at have taenkt problemstillingen igennem en gang mere.

Et tip i den henseende:  Man kan beregne procentforskelle (eller andre procentvaerdier) mellem to tal, ikke mellem to tabeller.  Hvis du har to tabeller der indeholder tal saa maa du noedvendigvis have en maade at vaelge et tal ad gangen fra hver tabel.  Du skal fortaelle hvordan du goer det.  Naar foerst det er forklaret/forstaaet bliver det sandsynligvis helt nemt at beregne procentvaerdier. 

Held og lykke med at taenke det igennem, saa forklare det, og faa en loesning.
Avatar billede hundevennen Nybegynder
26. februar 2010 - 13:31 #10
Det er p.t. 2 tabeller og uden nogen form for fællesnævner iform af en ID felt, så det er jo umuligt, så jeg lukker og takker for snakken
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