Avatar billede dd-man Nybegynder
13. januar 2003 - 22:31 Der er 10 kommentarer og
1 løsning

Hjælpe med at lave søgning med INNER JOIN osv.?

Hejsa,

Jeg har oprettet dette spørgsmål ( http://www.eksperten.dk/spm/301963 ), og har dog også fundet ud af hvordan det er lavet, og det virker. Men den søgning, skal kunne søge på flere kriterier. Jeg har derfor brug for hjælp, helst på en hurtig måde, som ICQ, og derefter poste svaret her.

Håber der er en der kan hjælpe.

Det kan også laves over dette forum hvis man ikke har ICQ...
Avatar billede dd-man Nybegynder
13. januar 2003 - 22:35 #1
Sætter lige points op. Bare der er noget som kan hjælpe med det. Kan også betale lidt for hjælpen hvis nødvendigt.
Avatar billede dgivoni Nybegynder
14. januar 2003 - 16:32 #2
helt generelt for at soege paa flere kriterier saa er det WHERE-delen i din sql-saetning du skal have fat i.
F.eks. Select ...... WHERE navn = 'hugo' AND efternavn LIKE "%sen"
og saa faar du alle dem som har navnet hugo og et efternavn som slutter med "sen" (jensen, hansen etc.)
Avatar billede dd-man Nybegynder
14. januar 2003 - 22:29 #3
Det ved jeg, men alligevel virker den ikke lige helt...
Vil meget gerne have hjælp over ICQ hvis du kan dgivoni...? eller sende dit ICQ nr. til min email hvis du vil det
Avatar billede dgivoni Nybegynder
15. januar 2003 - 00:16 #4
ok, jeg forsoegte at kontakte dig pr. icq igaar(tirsdag), men uden held... jeg proever igen idag...
Avatar billede dd-man Nybegynder
15. januar 2003 - 03:36 #5
Er du David?
Avatar billede fiemming Nybegynder
15. januar 2003 - 03:51 #6
Kan du ikke være lidt mere specifik om hvad du ønsker at søge på ?
Avatar billede dd-man Nybegynder
15. januar 2003 - 09:42 #7
Jeg har en medlemsdatabase, som har et brancheID, og et postnr felt.

Jeg har så også disse databaser, som er relationer til hinanden.
medlems tabellen's felt "postnr" med en relation til en postnr tabel:
postnr med kommune, kommune med amt


Jeg har disse 3 tabeller:
CREATE TABLE amter (
  amt varchar(50) NOT NULL default '0',
  amtID int(11) NOT NULL default '0'
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Struktur dump for tabellen `kommune`
#

CREATE TABLE kommune (
  id int(11) NOT NULL auto_increment,
  kommune varchar(30) NOT NULL default '',
  kommuneID int(11) NOT NULL default '0',
  amtID int(11) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Struktur dump for tabellen `postnr`
#

CREATE TABLE postnr (
  postnr varchar(5) NOT NULL default '',
  byen varchar(30) NOT NULL default '',
  kommuneID int(11) NOT NULL default '0'
) TYPE=MyISAM;


Jeg bruger denne "SQL Sætning" til at hente alle de medlemmer, som har tildelt en bestemt branche.

Den skal nu udvides, at den kan søge på alle medlemmer i et AMT, eller i en KOMMUNE, som har en bestemt branche.


mysql_query("SELECT m.branche,p.postnr,k.kommune,a.amt FROM medlemmer m
            INNER JOIN postnr p ON m.postnr = p.postnr
            INNER JOIN kommune k ON p.kommuneID = k.kommuneID
            INNER JOIN amter a ON k.amtID = a.amtID
            WHERE branche = '$branche'");

Den sætning er nok logisk nok for nogen, og jeg ved det sikkert er ret let, da der nok bare er noget der skal byttes lidt rundt i den SQL sætning; men kan alligevel ikke få den til at virke.

Jeg håber dette forklarer lidt mere  nu.

På forhånd tak
Avatar billede dd-man Nybegynder
15. januar 2003 - 09:44 #8
Det vil jo lyde let nok, hvis man bare lige tilføjede:

WHERE branche = '$branche' AND amt = '$amtID'

Men det er den jeg ikke kan få til at virke... hvis det overhoved er sådan man gør :)
Avatar billede dgivoni Nybegynder
15. januar 2003 - 11:02 #9
det kan vaere fordi du har '-tegn omkring vaerdier som i databasen er defineret som tal. F.eks. amtId, er det ikke et tal?
Avatar billede dgivoni Nybegynder
15. januar 2003 - 11:02 #10
og ja, jeg er David :-)
Avatar billede dd-man Nybegynder
15. januar 2003 - 11:18 #11
Jeg kan godt prøve at lave det anderledes med den der amtID der :)

og David... vi skrev sammen på ICQ igår, om at du vil skrive når du kom hjem.. da du kom hjem var du online, og skrev til mig om jeg var der, og jeg skrev 10 gange til dig, men det var som om at du ikke fik mine beskeder... der kom i hvert fald ingen besvarelser... skod icq :)
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