Avatar billede celinder Nybegynder
14. april 2008 - 21:43 Der er 8 kommentarer

Sql der driller

Jeg har 2 tabeller:

tabel1 Bestil
tabel2 vare

Bestil.vare indeholder en liste over hvilke vare der er bestil
ex. (1,2,3,4) hvis man har bestilt vare nummer 1,2,3 og 4

Nu har jeg brug for at få returneret Bestillinger med vare joinet på datasettet.

select * from bestil inner join vare on  .... ?
Avatar billede HenrikSjang Nybegynder
14. april 2008 - 21:58 #1
Du bliver nok lige nødt til at forklare lidt nærmere hvilke felter der findes i dine 2 tabeller. Men under antagelse af at du har en id-kolonne i begge tabeller, som "binder" de sammen, så er syntaxen sådan her:

select * from bestil inner join vare on bestil.id = vare.id (eller hvilke id-kolonner der nu skal bruges)
Avatar billede celinder Nybegynder
14. april 2008 - 22:04 #2
der er id i begge ja og de bliver bundet sammen ved at der i bestil er en liste af vare id´er (1,2,3) hvis man har bestilt vare nummer 1 2 og 3.

giver det mening ?
Avatar billede HenrikSjang Nybegynder
14. april 2008 - 22:18 #3
det var nu mere kolonne-overskrifterne jeg eftersøgte.

Fx sådan her:
Tabel1 - bestil:
bestilId  |  vareid  |  antal  |

Tabel2 - vare:
vareId  | varenr  | ....

Hvis dine tabeller ser ud som mit lille eksempel, så hedder det:

select * from bestil inner join vare on bestil.vareid = vare.vareid
Avatar billede celinder Nybegynder
14. april 2008 - 22:24 #4
gør de nu ikke da jeg lægger en liste ind med vare på hver bestilling istedet for at lave hver enkelt vare som en bestilling.

Det kan godt være jeg bør gøre som dig
Avatar billede celinder Nybegynder
14. april 2008 - 22:26 #5
Tabe1 - bestil
Bestil_ID, Bestil_Vare, Bestil_Antal

tabel2 - vare
VareID, VareNavn
Avatar billede HenrikSjang Nybegynder
14. april 2008 - 22:38 #6
hvis jeg gætter rigtigt, så indeholder Bestil_Vare en referenceId over til VareID fra din tabel2. I så fald hedder det:

select * from bestil left join vare on bestil.Bestil_Vare = vare.VareId.

Hvis ikke det er tilfældet, så mangler du et link der binder tabellerne sammen.
Avatar billede celinder Nybegynder
14. april 2008 - 22:50 #7
Bestil_vare indeholder en liste kommasepereret med VareID men tror måske jeg må oprette en bestilling pr. vare istedet
Avatar billede HenrikSjang Nybegynder
14. april 2008 - 22:54 #8
ohh, på den måde. Ja det bliver du nok nødt til. Nu forstod jeg også endelig dit oprindelige spørgsmål :)
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