24. juni 2005 - 14:28Der er
11 kommentarer og 1 løsning
join med SQL og LIKE
Hi, jeg har et stort problem:
i Table1 har jeg en table-overskrift som hedder: nr i Table2 har jeg to table-overskrifter som hedder: nr og value
'nr' fra Table1 er fyldt med følgende data: '1','2','3','4'
'nr' fra Table2 er fyldt med følgende data: '11','22','33','44'
'value' fra Table2 er fyldt med følgende data: '1-xyz', '2-xyz', '3-xyz', '4-xyz'
Nu passer 'nr' fra Table1 altid sammen med 'value' fra Table2. Problemet er, at jeg vil lave en SELECT-commando, hvor jeg finder 'nr' fra Table2 og kun kender 'nr' fra Table1
altså noget i den stil (vilket nr fra Table2 passer til nr=1 fra Table1?): SELECT Table2.nr FROM Table1, Table2 WHERE Table1.nr='1' AND Table2.value LIKE Table1.nr(???)'-%'
--- der må ikke bruges: WHERE ... Table2.value LIKE '1-%'
jeg har testet det, men det virker ikke. jeg ved ikke sådan rigtigt, hvad vilke funktionsparameter betyder. måske skal jeg ændre lidt rundt på dem for at det virker.
fejlmelding: ugyldig længde-parameter (length) blev brugt i substring-funktionen ---
det virker heller ikke. undskyld, jeg glemte at nævne, at ... value godt kan indeholde flere '-'-tegn ... og nummeret, som kommer før det første '-'-tegn kan godt være større in 9 ... det kan f.eks også være 12345 ... sådan at value så er: 12345-xyz-fgh
Du har problemerne fordi du har valgt et upraktisk design. Hvis to tabeller skal relatere til hinanden, så skal du have nogle kolonner der definerer og opretholder relationen. Det med "en del af en streng" vil nok kunne virke, men det vil meget hurtigt blive tungt at køre.
sorry, det er ikke mit design! det er et design fra et programm, som bruger denne DB. Og denne DB vil jeg så have indflydelse på. Men de, som har lavet programmet har måske aldrig hørt noget om "normalformer" (sorry, ved ikke om det også hedder sådan på dansk).
Synes godt om
Ny brugerNybegynder
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.