Avatar billede gusse Nybegynder
04. september 2001 - 09:00 Der er 7 kommentarer og
2 løsninger

lidt sql teknik

Jeg er desvære ikke ingen sql haj, så jeg behøver lidt hjælp !

Jeg har 2 tabeller.

1. (otherunits) med 2 felter (iunit,otherunit).
2. (unit) med en ca 20 felter (iunit,name,unittype, osv..)

Fra tabel 1 vil jeg gerne vælge alle hvor iunit=1.

\"select iunit,otherunit from otherunits where iunit=1\"

Her får jeg 2 rækker tilbage. Perfekt !!

Nu vil jeg så gerne have et navn med from tabel2. Dvs at tabel1.otherunit matcher tabel2.iunit og ud fra dette skulle jeg kunne få fat i tabel2.name. Jeg skulle gerne stadig kune have de 2 rækker, men får 4 !

min sql ser således ud

SELECT U.NAME, U.UNITTYPE, OU.OTHERUNIT
FROM OTHERUNITS OU, UNIT U
WHERE OU.OTHERUNIT=U.IUNIT and
OU.IUNIT=1

what to do ???





Avatar billede codebase Praktikant
04. september 2001 - 09:05 #1
select otherunits.iunit,otherunits.otherunit, unit.nane from otherunits
LEFT JOIN unit ON (tabel1.otherunit = unit.iunit )
where iunit=1\"


_codeb@se.
Avatar billede senj Nybegynder
04. september 2001 - 09:06 #2
SELECT DISTINCT U.NAME, U.UNITTYPE, OU.OTHERUNIT
FROM OTHERUNITS OU, UNIT U
WHERE OU.OTHERUNIT=U.IUNIT and
OU.IUNIT=1
Avatar billede codebase Praktikant
04. september 2001 - 09:06 #3
select otherunits.iunit,otherunits.otherunit, unit.nane from otherunits
LEFT JOIN unit ON (otherunits.otherunit = unit.iunit )
where iunit=1\"


lile rettelse..
_codeb@se.

Avatar billede codebase Praktikant
04. september 2001 - 09:14 #4
select DISTINCT otherunits.iunit,otherunits.otherunit, unit.nane from otherunits
LEFT JOIN unit ON (otherunits.otherunit = unit.iunit )
where iunit=1\"


hmm. DISTINCT  er nok en god ide.:-)
_codeb@se.

Avatar billede gusse Nybegynder
04. september 2001 - 09:18 #5
senj> jeg får stadig 4 rækker.

codebase> her får jeg ingen rækker. Hellere ikke hvis jeg fjerner left.

bruegr interbase
Avatar billede gusse Nybegynder
04. september 2001 - 09:21 #6
jeg får 4 rækker hvis jeg bruger denne

select distinct otherunits.otherunit, unit.name from otherunits
left join unit on (otherunits.otherunit=unit.iunit)
where otherunits.iunit=1
Avatar billede codebase Praktikant
04. september 2001 - 09:36 #7
tabel1.otherunit matcher tabel2.iunit , betyder vel at de har samme værdi ??

select distinct otherunits.otherunit, unit.name from otherunits ,unit WHERE otherunits.otherunit=unit.iunit AND otherunits.iunit=1


Codeb@se.
Avatar billede gusse Nybegynder
04. september 2001 - 09:40 #8
Sorry. jeg har pisset i min egen sko !!

der var tilfældigvis 2 andre rækker i unit (table2), så er det da klart den også vælger disse..

damn !!!
Avatar billede codebase Praktikant
04. september 2001 - 09:42 #9
:-)
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