Operation including tensor product or Kronecker product transforming matrix $A$ into matrix $B$ Given two matrices $A$ and $B$:

What transformation needs to be applied to transform matrix $A$ into matrix $B$?
A = {{0, c, b, -c + b c, a c, -a + a b, c + b c, a c, a + a b}, {0, c,
    b, c + b c, a c, a + a b, -c + b c, a c, -a + a b}, {0, -1, 0, b, 
   a, 0, b, a, 0}}

B = {{0, c, b, 0, c, b, 0, -1, 0}, {-c + b c, a c, -a + a b, c + b c, 
    a c, a + a b, b, a, 0}, {c + b c, a c, a + a b, -c + b c, 
    a c, -a + a b, b, a, 0}};

I mean the following. Find such a matrix X, or a pair of objects $x$ and $X$ for example (I don't know exactly how many are needed and what is the best formalism for this), so that either $AX=B$ or $xAX=B$ ?
I would be grateful for the advice, tk. until I found a suitable transformation.
EDIT:
I found one method that only uses $\frac{dQ}{d\boldsymbol{\theta}}$, and the result is the same as direct differentiation $\frac{dQ^T}{d\boldsymbol{\theta}}$. The disadvantage of this method is the need to glue the matrix again. Maybe I can get around this with some kind of unified tensor operation ? To immediately receive the entire matrix, without additional gluing.
Rx = RotationMatrix[\[Phi][t], {1, 0, 0}];

Ry = RotationMatrix[\[Xi][t], {0, 1, 0}];

Rz = RotationMatrix[\[Psi][t], {0, 0, 1}];

Q = Rz.Ry.Rx;

v = {\[Phi][t], \[Xi][t], \[Psi][t]};

T1 = Flatten /@ D[Q, {v}];

T2 = Flatten /@ D[Transpose[Q], {v}];

P1 = {{1, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0,
     0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 
    1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0,
     0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1}};

A1 = T1.{{1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 1, 0}, {0, 0, 0}, {0, 0,
      0}, {0, 0, 1}, {0, 0, 0}, {0, 0, 0}};

A2 = T1.{{0, 0, 0}, {1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 1, 0}, {0, 0,
      0}, {0, 0, 0}, {0, 0, 1}, {0, 0, 0}};

A3 = T1.{{0, 0, 0}, {0, 0, 0}, {1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 1,
      0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 1}};

Transpose[P1.ArrayFlatten[{{A1}, {A2}, {A3}}]] == 
   Flatten /@ D[Transpose[Q], {v}] // MatrixForm;

 A: The linear transformation converting $A$ into $B$ is sometimes called the "realignment map" (see https://arxiv.org/abs/quant-ph/0205017, for example): it is the linear transformation $R$ with the property that $R(\mathbf{e_i}\mathbf{e_j}^T \otimes \mathbf{e_k}\mathbf{e_\ell}^T) = \mathbf{e_i}\mathbf{e_k}^T \otimes \mathbf{e_j}\mathbf{e_\ell}^T$ for all $i$, $j$, $k$, and $\ell$.
The realignment map $R$ cannot be implemented by a single matrix multiplication on the left and right: there do not exist fixed matrices $X$ and $Y$ such that $XAY = B$. However, if you're comfortable with the partial transpose then you can write $R$ in the form
$$
R(A) = (A^\Gamma F)^\Gamma,
$$
where $F$ is the "commutation" or "flip" or "swap" matrix defined by $F(\mathbf{e_i} \otimes \mathbf{e_j}) = \mathbf{e_j} \otimes \mathbf{e_i}$ for all $i$ and $j$, and $\Gamma$ refers to the partial transpose (on the 2nd Kronecker factor): the map with the property that $(\mathbf{e_i}\mathbf{e_j}^T \otimes \mathbf{e_k}\mathbf{e_\ell}^T)^\Gamma = \mathbf{e_i}\mathbf{e_j}^T \otimes \mathbf{e_\ell}\mathbf{e_k}^T$ for all $i$, $j$, $k$, and $\ell$ (i.e., it transposes each $3 \times 3$ block of $A$).
