# Pull patterns in a parameterized query

**URL:** <https://forum.datomic.com/t/pull-patterns-in-a-parameterized-query/1764>\
**Category:** Client API\
**Created:** [February 8, 2021, 3:04am UTC](https://forum.datomic.com/t/pull-patterns-in-a-parameterized-query/1764 "2021-02-08T03:04:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hden](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/hden/32/388_2.png) [@hden](https://forum.datomic.com/u/hden)\
**Post date:** [February 8, 2021, 3:04am UTC](https://forum.datomic.com/t/pull-patterns-in-a-parameterized-query/1764/1 "2021-02-08T03:04:58Z")

</div>

I’ve been trying to parameterize the pull-pattern in a query.

[https://docs.datomic.com/cloud/query/query-data-reference.html#pattern-inputs](https://docs.datomic.com/cloud/query/query-data-reference.html#pattern-inputs)

So far, this works as expected.

```
(d/q {:args [db "ckirgf9sy000t3g5zobk9ukqk" '[*]]
      :query '[:find (pull ?e pattern)
               :in $ ?id pattern
               :where [?e :system/id ?id]]})

```

Sharing a pattern works.

```
(d/q {:args [db '[*] [["ckirgf9sy000t3g5zobk9ukqk"]
                      ["ckgaw9q63000n3h5whaqu3svc"]]]
      :query '[:find (pull ?e pattern)
               :in $ pattern [[?id] ...]
               :where [?e :system/id ?id]]})

```

Somehow it raise an error when each relation have its own pattern.

```
 (d/q {:args [db [["ckirgf9sy000t3g5zobk9ukqk" '[*]]
                  ["ckgaw9q63000n3h5whaqu3svc" '[:db/id]]]]
      :query '[:find (pull ?e pattern)
               :in $ [[?id pattern] ...]
               :where [?e :system/id ?id]]})

```

Error message

```
Execution error (ExceptionInfo) at datomic.core.error/raise (error.clj:55).
:db.error/pattern-not-bound Pull pattern not found in inputs: pattern

```

The syntax seems okay, but is it a valid use case for positional destructure?
