Avatar billede Rune1983 Ekspert
11. januar 2018 - 15:51 Der er 2 løsninger

Hente data mellem 2 tbl - Kan det optimeres bedre ??

Jeg har lavet et system hvor jeg har punkter til et produkt og har mine tekster til punkterne i en anden tabel. Vil så gerne hente teksterne til punkterne for et givet produkt.
Kan min select nederst optimeres bedre?
******************************************
Første tabel ser sådan ud:
table_data
table_data_ID,
Produktnavn,
dataNavn01,
dataNavn02,
dataNavn03,
...,
dataNavn15
******************************************
Anden tabel ser sådan ud:
DataNavn_ID,
DataNavn
******************************************
SELECT
tb1.Produktnavn,
tx1.DataNavn AS 'DataNavn01_Data',
tx2.DataNavn AS 'DataNavn02_Data',
tx3.DataNavn AS 'DataNavn03_Data',
...
...
...
tx15.DataNavn AS 'DataNavn15_Data'

FROM table_data tb1

JOIN table_data_txt tx1
ON tx1.DataNavn_ID = tb1.dataNavn01

JOIN table_data_txt tx2
ON tx2.DataNavn_ID = tb1.dataNavn02

JOIN table_data_txt tx3
ON tx3.DataNavn_ID = tb1.dataNavn03
...
...
...
JOIN table_data_txt tx15
ON tx15.DataNavn_ID = tb1.dataNavn15

WHERE tb1.table_data_ID='123456'
Avatar billede arne_v Ekspert
11. januar 2018 - 17:14 #1
Naeppe.

Og hvis du har de rigtige indeks, saa boer det vaere hurtigt nok.
Avatar billede arne_v Ekspert
12. januar 2018 - 04:07 #2
De rigtige indeks er de 2 PK (id'erne)  og de 3 FK (dataNavn01, dataNavn02, dataNavn03).
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

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