pittige sql vraag

Status
Niet open voor verdere reacties.

Htt_wng

Gebruiker
Lid geworden
9 jul 2005
Berichten
58
Ik heb een pittige vraag over een query.

Ik heb 1 tabel met alle instellingen en 1 tabel met alle alarmen. nou wil ik het volgende doen. Ik wil de alarmen en instellingen in 1 tabel hebben alleen zit er nog een addertje onder het gras. Er zijn vier types alarmen en vier types instellingen.

alarm.bla.bla.bla.s01
alarm.bla.bla.bla.s02
alarm.bla.bla.bla.s03
alarm.bla.bla.bla.s04

instelling.bla.bla.bla.shh --->hoorbij bij alarm S01
instelling.bla.bla.bla.sh --->hoorbij bij alarm S02
instelling.bla.bla.bla.sl --->hoorbij bij alarm S03
instelling.bla.bla.bla.sll --->hoorbij bij alarm S02

nou wil ik dus de juiste instelling aan de je juiste alarm koppelen

Ik heb al het volgende

instellingtabel
Instelling_ID
instelling_naam
Time_stamp

alarmtabel
alarm_ID
alarm_naam
time-stamp
instelling_id

hoe ga ik dit doen?

Untitled.png
alarmtabel.png
 
Laatst bewerkt:
Misschien toch nog even beter uitleggen hoe de relaties werken? Als "instelling_ID 1" bij "alarm_ID 1" past dan is er toch een directe relatie en kun je ze toch direct koppelen ?
 
Misschien toch nog even beter uitleggen hoe de relaties werken? Als "instelling_ID 1" bij "alarm_ID 1" past dan is er toch een directe relatie en kun je ze toch direct koppelen ?

Hoi wampie, ik zal proberen om een beter uitleg te geven.
Een alarm heet als volgt: VPD.PLC08.AFN.AF8.14TT8_2G.s01
Een instelling die daarbij hoort heet: VPD.PLC08.AFN.AF8.14TT8_2G.SHH

nou moet ik dus deze 2 aan elkaar koppelen door middel van een unieke nummer. Er zijn op dit moment 3000 verschillende alarmen en instellingen. hoe kan ik via bijvoorbeeld stored procedure dit doen? in de alarm tabel zitten verschillende alarmen van s01 t/m s04 en elke type alarm heeft zijn eigen instelling namelijk shh, sh, sl, sll. deze instellingen staan ook in 1 tabel namelijk instelling tabel.

het Instelling ID is nog niet gekoppeld aan het alarm tabel dit is dus wat er nog moet gebeuren. Hoe krijg ik de de juiste instelling ID bij de juiste alarm.
 
Laatst bewerkt:
Had gisteren geen tijd meer om te reageren...

De eigenlijke vraag is dus eigenlijk niet direct SQL. Zoals je aangaf ben je eigenlijk op zoek naar een koppelingstabel. Of als de reactie altijd 1 op meer is met 1 richting van zoeken dan kun je ook het "prime ID" als waarde in je secundaire tabel plaatsen. Bijvoorbeeld als je altijd een instelling zoekt via een alarm input kun je het alarm id in de instellingtabel plaatsen.

Het maken van een koppelingstabel vind ik persoonlijk (als je het initieel doet) makkelijker met een externe oplossing (excel, JSON, e.d.). indien je gaat voor de tweede oplossing kun je met een lusje en een regex de koppeling redelijk eenvoudig eenmalig aanbrengen.
 
bekijk eens

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'

maar dan in left join on SUBSTRING_INDEX('www.mysql.com', '.', 4) = SUBSTRING_INDEX('www.mysql.com', '.', 4)
testen met één query maar als dat niet lukt ,
kan je ook view maken ectra
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan