Hej Detta är nog en det effektivaste frågerna: Det ser bra utt men förutseter det inte att jag vet hur månha ellement som det fins innan.array + SQL = Sant????
Jag har en databas med personer och dessas olika egenskaper, vill nu kunna välja utt vissa personer som har en eller flera egenskaper.
Detta är ju inget problem om man innan vet hur många egensaper man önskar sortera utt. Dock så förhåller det sig så nu att detta vet jag inte användaren kan välja att sortera utt personer med en eller flera egenskaper.
Nu till frågan hur kan detta göras på bästa sätt???
Tacksam för all hjälp
MVH ViktorSv: array + SQL = Sant????
Söker efter en person med egenskapen 23:
SELECT Personer.*
FROM Personer
WHERE Personer.PersonId IN (SELECT PersonEgenskaper.PersonId
FROM PersonEgenskaper
WHERE PersonEgenskaper.EgenskapId IN (23)
GROUP BY PersonEgenskaper.PersonId
HAVING Count(*) = 1)
Söker efter en person med egenskapen 23 och 56:
SELECT Personer.*
FROM Personer
WHERE Personer.PersonId IN (SELECT PersonEgenskaper.PersonId
FROM PersonEgenskaper
WHERE PersonEgenskaper.EgenskapId IN (23, 56)
GROUP BY PersonEgenskaper.PersonId
HAVING Count(*) = 2)
Söker efter en person med egenskapen 23, 56 och 13:
SELECT Personer.*
FROM Personer
WHERE Personer.PersonId IN (SELECT PersonEgenskaper.PersonId
FROM PersonEgenskaper
WHERE PersonEgenskaper.EgenskapId IN (23, 56, 13)
GROUP BY PersonEgenskaper.PersonId
HAVING Count(*) = 3)
Söker efter en person med egenskapen 23, 56 eller 13:
SELECT Personer.*
FROM Personer
WHERE Personer.PersonId IN (SELECT DISTINCT PersonEgenskaper.PersonId
FROM PersonEgenskaper
WHERE PersonEgenskaper.EgenskapId IN (23, 56, 13))
Förutsätter att det inte existerar dubbleter.Sv: array + SQL = Sant????
Eller får man göra en SQL sats för bage kombination som fins.
Om jag tex har 4 stycken kategorier får jag få göra fyra sådana satser då ?????? Annars är det nog så som jag hade tänkt.