Advertisement
Guest User

ru.stackoverflow.com/questions/778781/

a guest
Feb 8th, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.13 KB | None | 0 0
  1. /*
  2. CREATE FUNCTION [dbo].[generate_series_2](@start int, @end int)
  3. RETURNS TABLE
  4. AS
  5. RETURN
  6. (
  7.     WITH CTE AS
  8.     (
  9.         SELECT num = @start
  10.         UNION ALL
  11.         SELECT num + 1 FROM CTE WHERE (num < @end)
  12.     )
  13.  
  14.     SELECT num
  15.     FROM CTE
  16. )
  17. */
  18.  
  19. with g as
  20. (
  21.     select "chr", "hkey" = s."num", "left", "right", "name"
  22.     from "genes-g38-201505" g
  23.     cross apply generate_series_2(g."left" / 10000, g."right" / 10000) s
  24. ),
  25.  
  26. r as
  27. (
  28.     select "chr", "hkey" = s."num", "left", "right", "name"
  29.     from "repeats-g38-201505" r
  30.     cross apply generate_series_2(r."left" / 10000, r."right" / 10000) s
  31. )
  32.  
  33. select
  34.     a."chr", a."left", a."right",
  35.     a."count" as "count_k47",
  36.     g."name" as "name_left",
  37.     r."name" as "name_right"
  38. from
  39.     "47k-80-80-ignore-random-noreverse" a
  40.     inner hash join g on
  41.       (a."chr" = g."chr") and
  42.       (a."left" / 10000 = g."hkey") and
  43.       (a."left" / 10000 = g."hkey") and
  44.       (g."left" < a."left") and (a."left" < g."right")
  45.     inner hash join r on
  46.       (a."chr" = r."chr") and
  47.       (a."right" / 10000 = r."hkey") and
  48.       (a."right" / 10000 = r."hkey") and
  49.       (r."left" < a."right") and (a."right" < r."right")
  50.  
  51. option (maxrecursion 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement