Det går inte ihop.
T:
C1 C2
-------
1 | A
1 | Q
Om du vill ha distinkta värden för C1 men ändå värden från C2, vilket värde skall returneras? A eller Q?
10 svar · 287 visningar · startad av icaaq
Hur ska jag göra för att inte få dubbleter på en del av de returnerade posterna.
[red]
SELECT t_lag.f_for_id,
t_lag.f_lag_namn,
t_lag.f_lag_klass,
t_lag.f_lag_id,
t_lag.f_lag_hall,
t_person.f_person_fornamn,
t_person.f_person_efternamn
FROM t_lag
LEFT OUTER JOIN t_lagansv ON t_lag.f_lag_id = t_lagansv.f_lag_id
LEFT OUTER JOIN t_person ON t_lagansv.f_personposition_id = t_person.ID
[/red]
Jag vet att namnen är lite väl men jag skulle gärna vilja ha lite hjälp med detta...
Mvh icaaq
Det går inte ihop.
T:
C1 C2
-------
1 | A
1 | Q
Om du vill ha distinkta värden för C1 men ändå värden från C2, vilket värde skall returneras? A eller Q?
Fyller på med en till DISTINCT fråga
Nu har jag en tabell med två fält hemmalag och bortalag
Nu vill jag hämta värdena från dessa två men inte få några dubbletter. Jag kan inte vara säker på att alla lag kommer med om jag bara tar DISTINCT på hemmalag då alla lag inte spelar hemma i vissa serier.
Går detta?
Eller ska jag lösa detta med två Statements?
Mvh icaaq
Jag tror att icaaq menar så här:
Han vill hämta alla lag som finns i tabellen, men problemet är att de finns antingen i hemmalagskolumnen eller i bortalagskolumnen.
Jag har dessvärre inget svar på frågan.
Mvh
@nders skrev:
Jag tror att icaaq menar så här:
Han vill hämta alla lag som finns i tabellen, men problemet är att de finns antingen i hemmalagskolumnen eller i bortalagskolumnen.
Jag har dessvärre inget svar på frågan.
Mvh
precis så....
Mvh icaaq
Gör en lagtabell där alla lag stoppas in, lista från den.
Alltså
LAG
id namn
1 DIF
2 HIF
3 AIK
MATCHER -eller vad den hette
hlag blag .....
1 2 .....
3 1 ......
Och om det är viktigt att de finns i matcher:
Select distinct namn from lag, Matcher where id = hlag or id = blag;
borde funka tycker jag...
Jag testade följande:
[red]
SELECT DISTINCT f_lag_id
FROM t_lag, t_match
WHERE t_lag.f_lag_id = t_match.f_hemmalag
OR t_lag.f_lag_id = t_match.f_bortalag
AND t_match.f_tabell = 32
[/red]
Men jag får 222 poster returnerade när jag ska få 10 kan jag åtgärda detta på någåt sätt?
Mvh icaaq
För att återgå till den (nästan) ursprungliga frågan
select hemmalag from t
union
select bortalag from t
[red]
SELECT DISTINCT f_lag_id
FROM t_lag, t_match
WHERE [b]([/b]t_lag.f_lag_id = t_match.f_hemmalag
OR t_lag.f_lag_id = t_match.f_bortalag[b])[/b]
AND t_match.f_tabell = 32
[/red]
Gick också bra
mvh icaaq