hawkmanMedlem sedan juni 2000125 inlägg Hej,
Behöver få ut UserId från 2 tabeller med 1 fråga. Går det? :q
Tabellerna ser ut så här:
[U]RegionResponsible[/U]
RegionResponsibleId
UserId
RegionId
[U]CountryResponsible[/U]
CountryResponsibleId
UserId
CountryId
RegionId fås ut genom att fråga
SELECT RegionId FROM Country WHERE CountryId = 8
Frågan är om jag kan få ut alla användare som finns antingen i RegionResponsible eller CountryResponsible genom ett CountryId, t ex 8, med endast en sql-sats? Har inga problem att få ihop det med två satser, men det vore smidigt med en :h
Gäller en access db.
Hälsningar
Håkan
LarsGMedlem sedan dec. 200012 464 inlägg select userid from regionresponsible
union all
select userid from countryresponsible
hawkmanMedlem sedan juni 2000125 inlägg Hej,
Jag vill gå in med ett countryid och få ut userid.
Pseudokod:
select userid from regionresponsible
union all
select userid from countryresponsible
WHERE
countryresponsible.countryid = 8 AND
regionresponsible.regionid in (SELECT RegionId FROM Country WHERE CountryId = 8)
Hoppas det blev lite klarare nu :)
Det vore dessutom grymt om man bara fick en förekomst av userid även om det finns flera...!
/Håkan
LarsGMedlem sedan dec. 200012 464 inlägg select userid from regionresponsible
where regionid in (select regionid from country
where countryid = 8)
union
select userid from countryresponsible
where countryid = 8
hawkmanMedlem sedan juni 2000125 inlägg Ok, fortsättning ;)
När jag fått ut mitt userid enligt ovan vill jag plocka ut motsvarande namn från min user-tabell...
[U]User[/U]
UserId
UserCategoryId
FirstName
LastName
SELECT FirstName, UserCategory
FROM User, UserCategory
WHERE User.UserId = ...
AND User.UserCategoryId = UserCategory.UserCategoryId
Vad sägs om det? :e
/Håkan
LarsGMedlem sedan dec. 200012 464 inlägg SELECT FirstName, UserCategory
FROM User, UserCategory
WHERE User.UserId in (
select userid from regionresponsible
where regionid in (select regionid from country
where countryid = 8)
union all
select userid from countryresponsible
where countryid = 8)
AND User.UserCategoryId = UserCategory.UserCategoryId
hawkmanMedlem sedan juni 2000125 inlägg Hej LarsG,
Testade med det innan, men det funkar inte. Får (i MS Access)
This operation is not allowed in subqueries
Går det att lösa på annat sätt eller är det helt kört i MS Access?
/Håkan
LarsGMedlem sedan dec. 200012 464 inlägg SELECT FirstName, UserCategory
FROM User inner join UserCategory
on User.UserCategoryId = UserCategory.UserCategoryId
WHERE User.UserId in (
select userid from regionresponsible
where regionid in (
select regionid from country
where countryid = 8))
or User.UserId in (
select userid from countryresponsible
where countryid = 8)