Avatar billede codebase Praktikant
19. februar 2001 - 00:33 Der er 11 kommentarer og
1 løsning

find id nummer, hvor der er flere rækker ?

jeg har en relations tabel, som indeholder id nummer fra tabel1 og id nummer fra tabel 2.

Nu vil jeg gerne hente alle rækker, hvor id nummer1 = 7 og id nummer 2 er 2 og 7??

hvis jeg bruger en or sætning, så får jeg alle mine rækker hvor den ene er sand, og ikke der hvor de begge to er der???

_codeb@se.
Avatar billede codebase Praktikant
19. februar 2001 - 00:47 #1
Min tabel ser sådan her ud:

Nu skal jeg \'bare\' hente de 2 ønsket rækker!

table relation
ID1    ID2
1    1 
1    2 
3    2 
4    2 
5    2 
6    2 
7    2        denne her 
7    7        og denne her
1    3 
2    3 
1    4 
2    4 
3    4 
1    6 
1    7 
1    8 
1    9 
4    9 


_codeb@se.
Avatar billede mkelle1 Nybegynder
19. februar 2001 - 01:55 #2
Hej Codebase

Den ser sådan ud:

select * from table where ID1=7 and (ID2=2 or ID2=7)

Hilsen

Mads
Avatar billede codebase Praktikant
19. februar 2001 - 02:04 #3
DET VIRKER IKKE, jeg får alle hvor id2 er 2 eller 7 !!

Har også prøvet med  distinct ,  hjælper ikke!!

_codeb@se.
Avatar billede codebase Praktikant
19. februar 2001 - 02:05 #4
kunne man ikke join tabellen med sig selv, og hente dem via en AND kommando ?

_codeb@se.
Avatar billede mkelle1 Nybegynder
19. februar 2001 - 02:17 #5
Codebase.

Du må have skrevet forkert af, for ovenstående select giver alle ID2 som er 2 eller 7 og hvor ID1 er 7, og ikke andre. Distinct kan du kun gøre når du vælge et enkelt felt (altså ikke select * from ....., men select ID1 from .....)

Jo, du kan godt joine, men det har ikke noget formål.

Mads
Avatar billede codebase Praktikant
19. februar 2001 - 02:25 #6
select var1, var2 from table1,table2 where ID1=7 and (ID2=2 or ID2=7)

er det ikke ok ??

_codeb@se.
Avatar billede codebase Praktikant
19. februar 2001 - 02:30 #7
jeg vil gerne have noget fra begge mine tabeller, derfor var1 og var2!

men denne her giver alle muligheder dvs. hvor ID er = 1 eller 2.
select var1, var2 from table1,table2 where ID1=7 and (ID2=2 or ID2=7)


_codeb@se.
Avatar billede mkelle1 Nybegynder
19. februar 2001 - 02:33 #8
Codebase

Nu har jeg forstået hvad det var du ville. Du ville hente noget fra de to tabeller, ikke bare hente de linier i din relationstabel.

Vender tilbage

Mads
Avatar billede codebase Praktikant
19. februar 2001 - 02:57 #9
jeps, men det er min relation, der bestemmer :)

_codeb@se.
Avatar billede mkelle1 Nybegynder
19. februar 2001 - 03:18 #10
Hej Codebase

Jeg kan ikke lige gennemskue hvordan jeg skal lave den med en join, men den kan ihvertfald laves sådan her:

<?
$sql=\"select * from rel_table where ID1=7 and (ID2=2 or ID2=7)\";
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result))
  {
    $sql1=\"select * from table1 where ID1=$row[ID1]\";
    $result1=mysql_query($sql1);
    $row1=mysql_fetch_array($result1);
    $sql2=\"select * from table2 where ID2=$row[ID2]\";
    $result2=mysql_fetch_array($sql2);
    $row2=mysql_fetch_array($result2);
    echo \"RelationsID=$row[ID], var1=$row1[var1], var2=$row2[var2]<br>\";
  }
?>

Og nu går jeg iseng

Mads
Avatar billede codebase Praktikant
23. marts 2001 - 01:05 #11
jeg har løst mit prob. på anden vis.

(via array)

takker ellers for dit svar......


_codeb@se.
Avatar billede codebase Praktikant
23. marts 2001 - 01:07 #12
det er noget ala dette her:
while(list($index, $value)  =  each($_newarray)) {
          if ($value < $antal){
            unset($_newarray[$index]);
          }
          else {
          osv...........


_codeb@se.
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