O título da pergunta não está claro, tentarei descrevê-lo.
No meu modelo tenho o seguinte:
Um objeto Rede inclui Linhas e um objeto Linha inclui Rotas (isso é para transporte público).
Agora tenho uma tabela de Assinaturas onde trato das assinaturas dos usuários para viajar em Redes, Linhas ou Rotas:
╔════╦═════════╦══════╦═══════╗
║ ID ║ Network ║ Line ║ Route ║
╠════╬═════════╬══════╬═══════╣
║ A ║ 1 ║ 6 ║ 12 ║
║ B ║ 2 ║ 3 ║ NULL ║
║ C ║ 1 ║ NULL ║ NULL ║
╚════╩═════════╩══════╩═══════╝
Que significa :
- A assinatura A é válida apenas na rota 12
- A assinatura B é válida em todas as rotas da linha 3
- As assinaturas C são válidas em todas as rotas da rede 1.
Preciso obter todas as assinaturas permitidas na rota nº 12, ou seja, preciso buscar a primeira e a terceira linha.
Que tipo de pedido me permitiria fazer isso, por favor?
No final, estarei fazendo isso em Java com JPQL, mas gostaria de entender como fazer isso em SQL simples primeiro.
Aqui está um SQL Fiddle caso alguém esteja disposto a ajudar.