webForumDet fria alternativet

komma separerad

6 svar · 257 visningar · startad av icaaq

icaaqMedlem sedan okt. 20004 910 inlägg
#1

Hej.
Jag har dessa fält

[red]
pk_id | fldDepartment
1 | 1
2 | 2, 5
3 | 5
4 | 4
5 | 1, 2, 5
[/red]

hur kan jag få ut alla fält om de innehåller ett fldDepartment som har 2.
Typ

[red]
SELECT pk_id, fldDepartment WHERE fldDepartment innehåller 2
[/red]

mv icaaq

Jesper TMedlem sedan nov. 20017 058 inlägg
#2

Jag tror att du kommer att få "bannor" i detta forum när du använder kommaseparerade kolumner av just den anledningen, att det kommer att strula.

pk_id | fldDepartment
1 | 1
2 | 2
2 | 5
3 | 5
4 | 4
5 | 1
5 | 2
5 | 5
icaaqMedlem sedan okt. 20004 910 inlägg
#3

Jo jag tänkte det.....

Gör om Gör rätt :D

mv icaaq

icaaqMedlem sedan okt. 20004 910 inlägg
#4

Ponera följande....

[red]
[b]tblNews[/b]
pk_id | fldTitel
1 | Tjenare
2 | nu kommer en till
3 | Icaaq rules
[b]tblNewsDepartement[/b]
fk_NewsId | fk_DepartmentId
1 | 1
1 | 2
1 | 3
2 | 1
2 | 3
2 | 4
[/red]

Nu skulle jag vilja ha ut alla nyheter ur tblNews, fast jag vill att alla som har fk_DepartmentId = 1 skall vara grupperade först i det returnerande recordsetet.

mv icaaq

LarsGMedlem sedan dec. 200012 465 inlägg
#5
select fldTitel 
from tblNews
  order by case when exists (select 1 from tblNewsDepartment
 where fk_departMentid = 1
and fk_newsId = tblnews.pk_id) then 0
else 1 end
icaaqMedlem sedan okt. 20004 910 inlägg
#6

Fungerar denna i access?

LarsGMedlem sedan dec. 200012 465 inlägg
#7

Nej,

select fldTitel, iif((select count(*) from tblNewsDepartment
 where fk_departMentid = 1
and fk_newsId = tblnews.pk_id) > 0,0,1)
from tblNews
  order by 2
Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb