Ik zit met een SQL probleem waar ik niet uitkom.
Ik heb 2 queries
De eerste haalt een lijst met objecten op en de 2e selecteerd alle foto's die bij dat object horen. het probleem is dat de 1e query 1 row teruggeeft met x rows met de waardes, dus ik kan er niet gewoon een subquery van maken.
Query 1: [haalt alle objecten op]
Query 2: [haalt alle foto's op]]
Nou heb ik van de 2e query een UDF gemaakt en die roep ik aan in de 1e query. Dit werkt perfect zolang ik een vaste varibele meegeef [in dit vooebeeld fn_fotos(192) f ], maar ik wil dat hij de rls_id van elke row meegeeft. Maar op de een of andere manier kan ik daar alleen maar 1 var meegeven en niet een veldnaam. Is dat uberhaupt wel mogelijk met een UDF of moet ik het anders aanpakken?
De complete UDF:
Ik heb 2 queries
De eerste haalt een lijst met objecten op en de 2e selecteerd alle foto's die bij dat object horen. het probleem is dat de 1e query 1 row teruggeeft met x rows met de waardes, dus ik kan er niet gewoon een subquery van maken.
Query 1: [haalt alle objecten op]
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| SELECT r.rls_id , r.rls_rw_residential_id as id, [...] 'o' as cv_indicator, f.* FROM tbl_realestate r, enm_postalcode p, enm_status s, [...] fn_fotos(192) f WHERE p.psc_id = r.psc_id AND s.sts_id = r.sts_id [...] |
Query 2: [haalt alle foto's op]]
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| SELECT f.img_file as foto1, f1.img_file as foto2 , f2.img_file as foto3 FROM tbl_image f, tbl_image f1, tbl_image f2 WHERE f.img_id = (SELECT MIN(img_id) FROM tbl_rls_img_con WHERE rls_id = @Id ) AND f1.img_id = (SELECT MIN(img_id) FROM tbl_rls_img_con WHERE rls_id = @Id AND img_id > f.img_id ) and f2.img_id = (SELECT MIN(img_id) FROM tbl_rls_img_con WHERE rls_id = @Id AND img_id > f1.img_id ) |
Nou heb ik van de 2e query een UDF gemaakt en die roep ik aan in de 1e query. Dit werkt perfect zolang ik een vaste varibele meegeef [in dit vooebeeld fn_fotos(192) f ], maar ik wil dat hij de rls_id van elke row meegeeft. Maar op de een of andere manier kan ik daar alleen maar 1 var meegeven en niet een veldnaam. Is dat uberhaupt wel mogelijk met een UDF of moet ik het anders aanpakken?
De complete UDF:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| CREATE FUNCTION fn_fotos (@Id int) RETURNS TABLE AS RETURN (SELECT f.img_file as foto1, f1.img_file as foto2 , f2.img_file as foto3 FROM tbl_image f, tbl_image f1, tbl_image f2 WHERE f.img_id = (SELECT MIN(img_id) FROM tbl_rls_img_con WHERE rls_id = @Id ) AND f1.img_id = (SELECT MIN(img_id) FROM tbl_rls_img_con WHERE rls_id = @Id AND img_id > f.img_id ) and f2.img_id = (SELECT MIN(img_id) FROM tbl_rls_img_con WHERE rls_id = @Id AND img_id > f1.img_id ) ) |
tyrips, tywreps, tiewreps, tiereps, tie raps, ripties, taiwraps, kabelbindbandjes » Tie Wraps
\o/