2


0

4 TABLES INNER JOIN SQLステートメント

私はこのデータベース構造を持っています…​

image:https://i.stack.imgur.com/PCmHW.jpg [データベース]

(これはスペイン語ですが、希望は関係ありません)、内部結合を使用してこのクエリを作成しましたが、結果が得られないため、何か間違ったことをしたと思います…​ これは私の質問です…​

SELECT TBoleta.NroSerie+'-'+TBoleta.NroBoleta Boleta, TBoleta.Fecha,
TAlumno.APaterno+' '+TAlumno.AMaterno+' '+TAlumno.Nombres as Apellidos_y_Nombres,
TGrupoModulo.Modulo + ' ' + TGrupoModulo.Seccion + ' ' + TGrupoModulo.Turno,
 TBoleta.Monto

FROM        TMatricula
        inner join TAlumno on TMatricula.CodAlumno = TAlumno.CodAlumno
        inner join TBoleta on TBoleta.NroMatricula = TMatricula.NroMatricula
        inner join TGrupoModulo on TGrupoModulo.CodGrupoModulo =    TMatricula.CodGrupoModulo

お願いします…​ どうぞよろしくお願いいたします。 ありがとうございます。

3 Answer


3


まず、この属性は存在しません。 TBoleta.CodAlumno

編集:クエリが正常にコンパイルされているように見えるので、内部結合では各結合のデータに一致する値が必要になることに注意してください。 結合の1つがそうでない場合、データは返されません。 これを理解するためにデータを分析してください。 最初に左外部結合を実行してから、ステップバイステップで内部結合に移動することもできます。


2


これは大まかな推測にすぎませんが、次の行:

inner join TAlumno on TBoleta.CodAlumno = TAlumno.CodAlumno

TBoletaにはCodAlumnoという名前の列がないため、間違っているようです。 このクエリの実行中にエラーが発生しているかどうかを確認する必要があります。


0


フィールド列が空の場合、結果は表示されません。 さらに、「空」または「null」値で表示する場合は、クエリで「LEFT JOIN」を使用できます