この問題は、複数のテーブルからデータを取り出す方法がわかりません。 INNER JOINとUNIONを使用しようとしました。SQLクエリ。複数のテーブルに関連付けられています
select `name_ganre` from `teleprogram`.`ganres`
where `idganre`=any(select `idganre` from `teleprogram`.`ganre-transfer`
where `idtransfer`=any(select `idtransfer` from `teleprogram`.`broadcasting`));
select `name_channel` from `teleprogram`.`channel`
where `idchannel`= any(select `idchannel` from `teleprogram`.`broadcasting`);
私は、チャネルの1人の列名に持参する必要があります。 は、ここに私はこれまで来たものです。そしてそのジャンルの別の名前。
broadcasting
rows: idtransfer, idchannel
transfer
rows: idtransfer, name_transfer
ganre-transfer
rows: idganre, idtransfer
ganre
rows: idganre, name_ganre
channels
rows: idchannel, name_channel
私は放送を通じてデータを取得しようとしています。簡素化できますか? クエリの後:name_channel、name_ganre
ありがとうございます!
どのテーブルが「メイン」(または「親」)テーブルですか?メインテーブルの各行には、他のすべてのテーブルに常に一致する行がありますか? – Bohemian
各チャンネルに複数のジャンルを割り当てることができるため、一部のチャンネルでは複数の行が表示されます(チャンネルごとに1つのジャンルごとに1行)。 –
@Bohemian:親子関係ではなく、多対多の関係があります。 –