nazrm Skrevet 25. september 2017 Del Skrevet 25. september 2017 (endret) Jeg leter etter en metode for å søke gjennom en MySQL-db (eventuelt lage en SPSS Syntax, Python script) for å undersøke om en gitt rad (med tilhørende UID) har en verdi av en variabel, og dersom denne verdien ikke finnes, lage en ny rad med denne verdien + UID, helt til hver ID har totalt 12 rader. - Velge ut én UID (f.eks: 200) - Sjekke om denne UID-raden har MATCH-rows under 12 (variabel som blir definert en gang per rad) - Hvis under 12: INSERT INTO frem til MATCH-rows for UID er 12 - Hvis ikke: Gå videre til neste UID-rad, kjør samme Så langt har jeg funnet ut hva jeg trenger for å legge til rader: INSERT INTO tbnavn (UID, MATCH) VALUES ('UIDvar', 'MATCHvar', ); Jeg har også klart å definere variabler som kunne blitt brukt i en loop, men jeg sliter litt med å vite hvordan jeg skal ta det videre fordi jeg ikke helt skjønner hvordan resultater fra en SELECT kan bli brukt til å sjekke variabler opp mot hverandre, og på bakgrunn av dette foreta en INSERT INTO. Halp? Endret 25. september 2017 av nazrm Lenke til kommentar
Automatikeren Skrevet 27. september 2017 Del Skrevet 27. september 2017 Jeg forstår ikke helt hva du er ute etter. ønsker du å ha 12 rader med ulike verdier i MATCH-kolonnen? Hva med "SELECT * FROM tbnavn WHERE UID=200" deretter telle opp antallet MATCH, og legge til/gå videre deretter? Lenke til kommentar
Crowly Skrevet 28. september 2017 Del Skrevet 28. september 2017 Er flere måter å løse dette på, du kan lage en stored procedure og ta i bruk mysql sitt scripting språk. Har ikke brukt dette selv, men her er en guide: http://www.mysqltutorial.org/mysql-stored-procedure-tutorial.aspx Du kan kjøre en insert ala dette REPLACE INTO tbnavn (UID, MATCH) VALUES ('UIDvar1', 'MATCHvar1'), ('UIDvar2', 'MATCHvar2'), ('UIDvar3', 'MATCHvar3'), ('UIDvar4', 'MATCHvar4'), ('UIDvar5', 'MATCHvar5'), ('UIDvar6', 'MATCHvar6'), ('UIDvar7', 'MATCHvar7'), ('UIDvar8', 'MATCHvar8'), ('UIDvar9', 'MATCHvar9'), ('UIDvar10', 'MATCHvar10'), ('UIDvar11', 'MATCHvar11'), ('UIDvar12', 'MATCHvar12'); Hvis UIDvar finnes fra før av blir MATCHvar verdien oppdatert, så lenge MATCHvar er lik den som er i tabellen vil dette bare fylle på til 12 rader. En annen løsning er som du er inne på å bruke ett scripting språk til først å hente ut dataene, så sjekke hvilke rader som mangler og til slutt sette inn de nye. Er nok bedre om du forklarer hvilket (overordnet) problem du prøver å løse i stedet for, da er det enklere å komme opp med en løsning. Er ikke gitt at det du prøver på er den "beste" løsningen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå