fglrx Skrevet 25. september 2012 Del Skrevet 25. september 2012 Sliter litt med å finne en spørring på denne. Har to databaser - fag og oppgaver. Jeg skal hente ut alle fagkodene fra "fag" samt telle hvor mange oppgaver hvert fag har. Dvs at kun DAT1000 og INF1000 har oppgaver, mens de andre har null. Output skal bli seende slik ut: DAT1000 | 2 INF1000 | 2 LED2000 | 0 OBJ2000 | 0 BAC3000 | 0 PRG3000 | 0 Noen tips? Lenke til kommentar
Værktøy Skrevet 25. september 2012 Del Skrevet 25. september 2012 (endret) Du kan sette dette enkelt opp i PHP hvis det er det du bruker. F.eks. slik for å hente noe mellom to tabeller: <?php // Sett inn din kobling til mysql. $table1 = "tabell1"; // Hente fra tabell1 $table2 = "tabell2"; // Hente fra tabell2. $sql1 = mysql_query("SELECT * FROM ".$table1." WHERE osv "); $sql2 = mysql_query("SELECT * FROM ".$table2."WHERE osv"); ?>; Hvis det ikke var tabeller du mente, prøv dette med databaser: <?php $table1 = "tabell1"; // Hente fra tabell1 $table2 = "tabell2"; // Hente fra tabell2. $db1 = "db1"; // Database 1 $db2 = "db2"; // Database 2 $connect1 = mysql_connect(host, brukernavn, passord); $select1 = mysql_select_db($db1, $connect1); $connect2 = mysql_connect(host, brukernavn, passord); $select2 = mysql_select_db($db1, $connect2); $sql1 = mysql_query("SELECT * FROM ".$table1." WHERE osv ", $connect1); $sql2 = mysql_query("SELECT * FROM ".$table2."WHERE osv", $connect2); mysql_close($connect1); mysql_close($connect2); ?> Du finner mye om dette på disse linkene: mysql_connect - http://php.net/manua...sql-connect.php mysql_select_db - http://php.net/manua...l-select-db.php mysql_query - http://php.net/manua...mysql-query.php mysql_close - http://php.net/manua...mysql-close.php Endret 25. september 2012 av thypthon^ Lenke til kommentar
fglrx Skrevet 25. september 2012 Forfatter Del Skrevet 25. september 2012 Jeg skal ha èn sql-spørring, dvs rett inn i SQL og ikke via PHP (dessverre) :-\ Lenke til kommentar
Værktøy Skrevet 25. september 2012 Del Skrevet 25. september 2012 Jeg skal ha èn sql-spørring, dvs rett inn i SQL og ikke via PHP (dessverre) :-\ Okay, da blir det mer dette da (hakke jobbet med slike enda) SELECT * FROM [db].[tabell] WHERE [din query]; SELECT * FROM [db2].[tabell] WHERE [din query]; Håer det hjalp! Lenke til kommentar
Værktøy Skrevet 25. september 2012 Del Skrevet 25. september 2012 Hvis du skal slå de sammen prøv å bruke "UNION" f.eks her: (SELECT * FROM [db].[tabell] WHERE [din query]) UNION (SELECT * FROM [db2].[tabell] WHERE [din query]) Den slår sammen resultatene. Lenke til kommentar
fglrx Skrevet 25. september 2012 Forfatter Del Skrevet 25. september 2012 (endret) Takk for svar, men ser ikke ut til at UNION hjelper. Da kommer spørring 2 rett under spørring 1. ER'en min ser sånn ut, hvis det hjelper Endret 25. september 2012 av fglrx Lenke til kommentar
Værktøy Skrevet 25. september 2012 Del Skrevet 25. september 2012 Får ikke sett de bildene, mulig sende de i en større størrelse. Lenke til kommentar
fglrx Skrevet 25. september 2012 Forfatter Del Skrevet 25. september 2012 (endret) Bildr.no var ikke helt tingen, nei.. http://i.imgur.com/lvRxq.png Endret 25. september 2012 av fglrx Lenke til kommentar
Djn Skrevet 25. september 2012 Del Skrevet 25. september 2012 (endret) Du vil bruke en join. Jeg skal ikke gi det svaret helt ut, men se på hva select * from fag left join oppgaver using(fagkode); gir deg. Det er ikke helt sikkert databasen du bruker støtter using - hvis ikke, kan du bruke dette: select * from fag left join oppgaver where fag.fagkode=oppgaver.fagkode. Det er også mulig at left join heter "left outer join" ... og det er mulig du kan bruke "natural join" i stedet (som automatisk bruker den ene kolonnen med felles navn, om det finnes en). Se evt. på w3schools om left join her. Endret 25. september 2012 av Djn Lenke til kommentar
fglrx Skrevet 25. september 2012 Forfatter Del Skrevet 25. september 2012 Takk! Fikk det omsider til: select fagkode,count(nr) from fag left join oppgave using(fagkode) group by fagkode order by klassekode,fagkode Jeg drev og kålet med natural join, men ser ut til at left join var tingen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå