Eu acho que a melhor maneira é criar uma tabela temporária com o conjunto de itens necessários (procedimento que leva os ids dos itens como parâmetros ou algo nesse sentido) e depois juntá-la à esquerda com todas as tabelas acima unidas.
Se para um determinado basketid você não tiver nenhum nulo no lado direito da junção esquerda, a cesta conterá todos os itens necessários.