Jeg har flg. tre tabeller:
adresser (indeholdende felterne adresseID og adresseNavn),
typer (indeholdende felternee typeID og typeNavn)
adresserTyperRel (indeholde felterne adresseID og typeID, beskriver
relationen mellem adresser og typer).
Det jeg gerne vil, er at vælge alle de adresseID hvor, adresseNavn er lig en
søgestreng ELLER adresseID er knyttet til en type, hvis typeNavn er lig
samme søgestreng - altså foreningsmængden af følgende to selects.
SELECT a.adresseID FROM adresser AS a, typer AS t, adresserTyperRel as r
WHERE (a.adresseID=r.adresseID AND r.typeID=t.typeID AND t.typeNavn
LIKE'%str%')
SELECT a.adresseID FROM adresser AS a WHERE a.adresseNavn LIKE '%str%'
Da min version af MySQL ikke understøtter UNION, leder jeg efter et sql
alternativ - kunne selvf. merge de to select resultater i mit script sprog,
men det ville være smartere at kunne klare det i sql.
Forsøgte at OR'e de to WHERE sætning sammen, altså
SELECT a.adresseID FROM adresser AS a, typer AS t, adresserTyperRel as r
WHERE ((a.adresseID=r.adresseID AND r.typeID=t.typeID AND t.typeNavn
LIKE'%str%') OR (a.adresseNavn LIKE '%str%'))
Men det virker ikke - eller dvs. returnérer et MEGET stort antal rækker :)
--
mvh Jakob Kirkegaard
http://jakir.dk