Php 查询don´;我一个结果也看不出来

Php 查询don´;我一个结果也看不出来,php,mysql,sql,laravel,vue.js,Php,Mysql,Sql,Laravel,Vue.js,我有一个疑问: SELECT asistencia.codAsistencia, asistencia.fecha, bonos.codBono, asistencia.estado, contratan.activo, contratan.codContrato, contratan.tiempoRestanteBono, asistencia.mensaje, users.nombre

我有一个疑问:

SELECT asistencia.codAsistencia, asistencia.fecha, bonos.codBono, asistencia.estado, 
                                                  contratan.activo, contratan.codContrato, contratan.tiempoRestanteBono, asistencia.mensaje, users.nombre 
                                            FROM asistencia, users, bonos, contratan 
                                            WHERE asistencia.usuario = users.id 
                                            AND contratan.bono = bonos.codBono 
                                            AND asistencia.estado = 'pendiente' 
                                            GROUP BY asistencia.codAsistencia
我可以显示我的结果,但总是不显示全部,我想说,如果我的结果是3,那么当我的所有结果都有相同的结果时,我的查询显示2。所有数据都具有state=“pendiente”

表格用户

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('nif');
        $table->string('nombre');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->string('direccion')->nullable();
        $table->string('perfil')->default('usuario');
        $table->integer('telefono')->nullable();
        $table->rememberToken();
        $table->timestamps();
    });
}
table bonos

public function up()
{
    Schema::create('bonos', function (Blueprint $table) {
        $table->increments('codBono');
        $table->string('tipo',20);
        $table->integer('minutos')->unsigned();
        $table->Double('precio',5,2);
        $table->timestamps();
    });
}
表asistencia

public function up()
{
    Schema::create('asistencia', function (Blueprint $table) {
        $table->increments('codAsistencia');
        $table->dateTime('fecha');
        $table->longText('mensaje');
        $table->bigInteger('usuario')->unsigned();
        $table->string("estado", 20)->default("pendiente");
        $table->timestamps();



        // hacemos la insercción aquí ya que la tabla debe estar creada
        \DB::table('bonos')->insert([
            ['tipo' => '1/2H', 'minutos' => '30', 'precio' => '20'],
            ['tipo' => '1H', 'minutos' => '60', 'precio' => '40'],
            ['tipo' => '5H', 'minutos' => '300', 'precio' => '175'],
            ['tipo' => '10H', 'minutos' => '600', 'precio' => '330'],
            ['tipo' => '24H', 'minutos' => '1200', 'precio' => '600'],
        ]);



        $table->foreign('usuario')->references('id')->on('users');
    });
}
表格实际值

 public function up()
{
    Schema::create('actuacion', function (Blueprint $table) {
        $table->increments('codActuacion');
        $table->dateTime('fecha');
        $table->Integer('tiempoEmpleado');
        $table->Integer('asistencia')->unsigned();


        $table->foreign('asistencia')->references('codAsistencia')->on('asistencia');

    });
}
public function up(){
    Schema::create('contratan', function (Blueprint $table) {
        $table->increments('codContrato');
        $table->Integer('bono')->unsigned();
        $table->Integer('tiempoRestanteBono')->unsigned();
        $table->tinyInteger('activo')->default('0');
        $table->bigInteger('usuario')->unsigned();


        $table->foreign('usuario')->references('id')->on('users');
        $table->foreign('bono')->references('codBono')->on('bonos');
    });
}
表格CONTAN

 public function up()
{
    Schema::create('actuacion', function (Blueprint $table) {
        $table->increments('codActuacion');
        $table->dateTime('fecha');
        $table->Integer('tiempoEmpleado');
        $table->Integer('asistencia')->unsigned();


        $table->foreign('asistencia')->references('codAsistencia')->on('asistencia');

    });
}
public function up(){
    Schema::create('contratan', function (Blueprint $table) {
        $table->increments('codContrato');
        $table->Integer('bono')->unsigned();
        $table->Integer('tiempoRestanteBono')->unsigned();
        $table->tinyInteger('activo')->default('0');
        $table->bigInteger('usuario')->unsigned();


        $table->foreign('usuario')->references('id')->on('users');
        $table->foreign('bono')->references('codBono')->on('bonos');
    });
}

我附加了我的迁移,以便您可以显示迁移关系

我解决了添加条件时出现的问题

AND contratan.activo = 0 or contratan.activo = 1 

尝试删除组by@MaximAbdalov谢谢你的回复,我看过了,但没有。我用条件contratan.activo=0或contratan.activo=1Tip解决了我的问题:切换到现代的显式
JOIN
语法!更容易写(没有错误),更容易阅读和维护,如果需要,更容易转换为外部连接!该GROUP BY无效,并且将在较新的MySQL版本中引发异常(除非处于兼容模式)