A complete picture of the lattice of subfields for a cyclotomic extension over $\mathbb{Q}$. Is there a good general purpose algorithm (batch of theorems) allowing one to determine the intermediate fields between $\mathbb{Q}(\zeta)$ and $\mathbb{Q}$, where $\zeta$ is some primitive root of unity?
Let $p$ be a prime. Consider the case where $\zeta=\zeta_{p}$ is a primitive $p$-th root of unity. Then the Galois extension is cyclic of order $p-1$ and $1,\zeta,\dots,\zeta^{p-1}$ is a $\mathbb{Q}$-basis for the extension. In this case for any subgroup $H$ of $G=\mathbb{Z}/(p-1)$, by considering the sum $$\alpha_H=\sum_{\sigma\in H}\sigma\zeta,$$
we can observe that $\alpha_H$ lies in the fixed field for $H$, and any automorphism $\tau$ not in $H$ (note automorphisms are identified with subgroups of $\mathbb{Z}/(p-1)$ in the natural way), $\tau$ does not fix $\alpha_H$. Therefore we can conclude that $\mathbb{Q}(\alpha_H)$ is the fixed field of $H$.
In this way we can get all of the intermediate fields of $\zeta_p$ for all odd primes $p$.
We also have a theorem that says if we have $n=p^sq^t$, then $$\text{Gal}(\mathbb{Q}(\zeta_n)/\mathbb{Q})\simeq \text{Gal}(\mathbb{Q}(\zeta_{p^s})/\mathbb{Q})\times\text{Gal}(\mathbb{Q}(\zeta_{q^t})/\mathbb{Q}).$$
So what I have yet to understand is
How can one generally find the intermediate fields between $\mathbb{Q}(\zeta_{p^s})$ and $\mathbb{Q}$ for $s\ge 1$? I would like to also understand the case where $p=2, s>1$ though this might turn out to be a separate case.
EDIT: Even the case $n=pq$ is a little murky to me. Even given the isomorphism given by the Chinese Remainder Theorem I don't see a priori how to get all the "product" subfields. My idea is that you can consider the separate subfields under $\text{Gal}(\mathbb{Q}(\zeta_{p})/\mathbb{Q})$ and $\text{Gal}(\mathbb{Q}(\zeta_{q})/\mathbb{Q})$ separately and then consider the pairwise product of the generators of various subfields to see if you get anything new, but my idea is too inchoate.
 A: If $q$ is a power of an odd prime $p$, then the multiplicative group of units in the ring ${\bf Z}/q{\bf Z}$ is cyclic of order $q-(q/p)$, and that's also the Galois group of ${\bf Q}(\zeta_q)$ over the rationals, so it seems to me that your construction for the prime case works. 
A: Let $\zeta$ be a primitive $p^s$-th root of unity for a prime $p$ and a positive integer $s$.  Let $G = \operatorname{Gal}(\mathbb{Q}(\zeta)/\mathbb{Q}).$  Let
$$ \eta = \zeta + \zeta^p + ... + \zeta^{p^{s-1}}.$$
One can prove by induction on $s$ that the set $\mathcal{B} = \{g(\eta) \; | \; g \in G\}$ is a basis of $\mathbb{Q}(\zeta)/\mathbb{Q}$.  Now for any $\alpha \in \mathbb{Q}(\zeta)$ let $H$ be the subgroup of $G$ fixing $\alpha$.  Define
$$ \beta = \sum_{\sigma \in H} \sigma(\eta).$$
Since $\tau(\beta) = \beta$ for all $\tau \in H$, $\mathbb{Q}(\beta)$ is a subfield of $\mathbb{Q}(\alpha)$.  We will now show by contradiction that for any $\tau \in G \setminus H$ that $\tau(\beta) \neq \beta$.  Assume there exists a $\tau \in G \setminus H$ such that $\tau(\beta) = \beta$.  Since  $\mathcal{B}$ is a basis for $\mathbb{Q}(\zeta)/\mathbb{Q}$, there must exist a $\sigma \in H$ such that $\tau \circ \sigma(\eta) = \iota(\eta)$ where $\iota$ is the identity element of $G$.  Then $\tau = \sigma^{-1} \in H$, which contradicts our assumption.  We conclude that for all $\tau \in G \setminus H$ we have $\tau(\beta) \neq \beta$.  Thus $\mathbb{Q}(\beta)$ contains $\mathbb{Q}(\alpha)$.  This proves $\mathbb{Q}(\beta) = \mathbb{Q}(\alpha)$.
This shows that all subfields of $\mathbb{Q}(\zeta)$ can be constructed as $\mathbb{Q}(\beta)$ where $\beta = \sum_{\sigma \in H} \sigma(\zeta + \zeta^p + ... + \zeta^{p^{s-1}})$ for a subgroup $H$ of $\operatorname{Gal}(\mathbb{Q}(\zeta)/\mathbb{Q})$.
For example, if $\zeta$ is a primitive 9-th root of unity, then $\eta = \zeta + \zeta^3$.  Since 2 is a quadratic nonresidue modulo 3, the Galois group $G$ is cyclic with generator $\tau$ defined by $\tau(\zeta) = \zeta^2$.  Since $\varphi(9) = 6$, the subgroups of $G$ are itself, the trivial subgroup, $\left< \tau^2 \right>$, and $\left<\tau^3\right>$.  We know what fields we'll get for the first two from basic Galois theory, so now we must now find $\beta = \sum_{\sigma \in H}\sigma(\eta)$ for the two proper nontrivial subgroups.  When $H = \left<\tau^2\right>$
$$\beta = \sum_{\sigma \in \left< \tau^2 \right>} \sigma(\eta) = (\zeta + \zeta^3) + (\zeta^4 + \zeta^3) + (\zeta^7 + \zeta^3) = 3\zeta^3.$$
In this case $\mathbb{Q}(\beta) = \mathbb{Q}(\zeta^3)$.  When $H = \left< \tau^3 \right>$
$$\beta = \sum_{\sigma \in \left< \tau^3 \right>} \sigma(\eta) = (\zeta + \zeta^3) + (\zeta^8 + \zeta^6) = \zeta + \zeta^8 - 1$$
In this case $\mathbb{Q}(\beta) = \mathbb{Q}(\zeta + \zeta^8) = \mathbb{Q} \left( \cos \left(\frac{2 \pi}{9} \right) \right)$.

