Compreendendo a verificação de terminação CTE recursiva

Neste sqlfiddle ...

http://sqlfiddle.com/#!6/b6587/6

Eu estou recebendo o seguinte erro....

A declaração foi encerrada. A recursão máxima 100 foi esgotada antes da conclusão da instrução.

Entendo que é necessário que haja uma "verificação de rescisão" na cláusula where da segunda seleção do CTE. Mesmo se você descomentar a cláusula WHERE, recebo o mesmo erro.

Estou apenas tentando entender 1) por que é necessário ... afinal cada linha do pedido tem um relacionamento com cada linha do cliente e 2) uma vez que uma "verificação de encerramento" é necessária, como seria a aparência desse exemplo trabalhos.

BTW, a saída que eu gostaria de ver para esta consulta é a seguinte.

1,'George', 'Patton','',''
1,'','','<some date>', 'tank'
1,'','','<some date>', 'plane'
2,'Lewie', 'Puller','',''
2,'','','<some date>', 'Rifle'
2,'','','<some date>', 'Hand Grenade'

A propósito, fique à vontade para comentar outras maneiras de obter esse tipo de resultado (sem usar um cte recursivo), mas também sem usar um cursor ou uma tabela temporária. Eu gostaria de fazer isso com uma operação baseada em conjunto.

EDITAR

Para o registro, eu sei que uma associação funcionaria, mas eu tinha um motivo para perguntar sobre recursão. Para dar um contexto, estou trabalhando em um conjunto de resultados que é um arquivo EXPORT. Cada linha é apenas uma coluna chamada LINE. Além disso, o arquivo de exportação precisa produzir na ordem do meu exemplo ... os detalhes precisam estar nas linhas do cabeçalho e esse padrão precisa repetir ... cabeçalho / detalhes ... cabeçalho / detalhes. Eu pensei que talvez a recursão pudesse resolver esse problema. Mas eu sei que a união simples poderia resolvê-lo também, desde que eu possa colocar as linhas na ordem correta ... cabeçalho / detalhe ... cabeçalho / detalhe, talvez por ter alguma maneira de fazer uma coluna para classificar os números da saída em o caminho certo.

Minha exportação NÃO dependerá do aplicativo de chamada para formatar os dados ... o procedimento armazenado precisa formatar os dados.

questionAnswers(1)

yourAnswerToTheQuestion