---
Jag har en användare kan vara kategoriserad som "Leverantör". Men en användare kan ha flera typer av kompetens. I detta fllet handler det om trycksaksproduktion. En tryckare kan trycka både A4, A3 och A2 typ.
Hur skapar jag en fråga som listar alla leverantörer och dessutom respektive kompetens som de besitter?
Du gör en vanlig join och sedan får du hantera presentationen i klientskriptet.
sql = "select u.x_name,c.x_name as competence from users u inner join competence c on u.competence_id = c.x_id = where [x_leverantör] order by u.x_ID"
set rs = connect.execute(sql)
name = ""
while not rs.eof
if name <> rs("x_name") then
name = rs("x_name")
response.write name & "<br>-----<br>"
end if
response.write rs("x_competence")
rs.movenext
wend
Att få till det direkt i sql-frågan går nog men det blir lite mycket om du har många villkor
(
select x_id,x_name,1 from users where x_leverantor
union
select u.x_id,c.x_name,3 from competence c inner join users u on
u.competence_id = c.x_id where x_leverantor
union
select x_id,replace(space(len(x_name),' ','-')),2 from users where x_leverantor
order by 1,3
ungefär
)
red: rättade lite fel i SQL-satsen.
red2: dina tabeller är inte normaliserade (om du inte har en till tabell med userinfo men varför ligger då leverantör med i users?)
red2
Jag ska studera dina exempel nogrannare innan jag uttalar mig om dom. Leverantörerna måste ju också kunna logga in så jag gjorde [users] så här. Man kan bara vara antingen staff, member eller customer. (Beklagar det tarvliga namnvalet... men det fick bli så.)