goofyduck Skrevet 12. juli 2022 Del Skrevet 12. juli 2022 Har to tabeller og en koblingstabell: produkt, butikk og butikk_produkt. Produkt viser et produkt som kan finnes i flere butikker. Dette kobles sammen i butikk_produkt. For å vise resultatene bruker jeg følgende SQL: SELECT navn, butikk FROM produkt p LEFT JOIN butikk_produkt bp ON p.produktid = bp.produktid INNER JOIN butikk b ON b.butikkid = bp.butikkid; Da kan svaret f.eks. bli : navn butikk såpe sapebutikken såpe sapertilsalgs Skulle helst hatt et svar som under og gjerne med butikker til det uendelige. Finnes det en slik løsning i SQL eller PHP? Gjøre svaret om til arrays på en måte eller noe? Veldig takknemlig for svar. navn butikk butikk2 såpe sapebutikken sapertilsalgs Skal for eksempel kunne vises på nett som: Såpe Finnes i sapebutikken, sapertilsalgs... Takker for svar! Lenke til kommentar
Gjest Slettet+6132 Skrevet 13. juli 2022 Del Skrevet 13. juli 2022 Jeg vet ikke helt, har f.eks. ikke tabellene dine og kan ikke dette så godt, men blir det ikke å bruke WHERE, på en lignende måte som dette? SELECT soap, store_location FROM stores WHERE soap="søkeord såpenavn" Da må du ha en tabell stores (en tabell med alle butikker) som inneholder såper og hvor de finnes. Ev. kan du ha en løkke som går gjennom alle butikker, hvis de ikke ligger i en samlet tabell. Da vil man naturlig ha en overordnet tabell med butikker, for å samle dem, selv om man itererer i "butikk" og ikke "butikkene". Lenke til kommentar
quantum Skrevet 3. august 2022 Del Skrevet 3. august 2022 Kanskje du kan bruke noe her: https://stackoverflow.com/questions/1241178/mysql-rows-to-columns (antar du bruker mysql) Lenke til kommentar
NoBo Skrevet 3. august 2022 Del Skrevet 3. august 2022 Et stikkord her kan være ‘Transpose’, dvs. å rotere data mellom kolonner og rader og motsatt. Et søk på mysql transpose rows column data gir mange forslag. Lenke til kommentar
gt89 Skrevet 15. januar Del Skrevet 15. januar legg til en ny kolonne i tabellen din Lenke til kommentar
RoyPåTur Skrevet 6 timer siden Del Skrevet 6 timer siden gt89 skrev (På 15.1.2025 den 22.19): legg til en ny kolonne i tabellen din Det er nesten helt sikkert ikke ønsket løsning. Spørsmålet er veldig gammelt, men hvis noen lurer på noe tilsvarende så kan man se om SQL-versjonen støtter en form for string-aggregation. Dette eksempelet i SQL Server 2019 produserer et komma-separert resultat: DECLARE @butikk TABLE (butikkid int, navn nvarchar(50)) DECLARE @produkt TABLE (produktid int, navn nvarchar(50)) DECLARE @butikk_produkt TABLE (produktid int, butikkid int) INSERT INTO @butikk VALUES (1, 'sapebutikken'), (2, 'sapertilsalgs') INSERT INTO @produkt VALUES (1, 'såpe') INSERT INTO @butikk_produkt VALUES (1, 1), (1, 2) SELECT p.navn, ( SELECT STRING_AGG(b.navn, ', ') FROM @butikk_produkt bp JOIN @butikk b ON b.butikkid = bp.produktid WHERE bp.produktid = p.produktid ) AS Butikker FROM @produkt p Men merk at den opprinnelige spørringen allerede returnerer et resultat som er på et mye vennligere data-format for å bruke videre i kode. 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å