estoy tratando de realizar una consulta que no muestre campos repetidos cuando se cumpla una condicion, eso lo resolví con la variable $historial1, eso lo hice y está ok estaria necesitando mostrar dos columnas más de mi tabla y ordernarlos por una de esas columnas, a continuación mi consulta:
$historialtodo = Historial::select(DB::raw('(valor)'))
->where('direccion','=', 7)->get();
$historial1 = Historial::select(DB::raw('DISTINCT(valor)'))
->where('direccion','=', 1)->get();
$historial = $historialtodo->union($historial1);
como haría para meter en el serlect las dos columnas que me faltan?, intenté lo siguiente:
$historialtodo = Historial::select('id_historial','direccion',DB::raw('(valor)'))
->where('direccion','=', 7)->get();
$historial1 = Historial::select('id_historial','direccion',DB::raw('DISTINCT(valor)'))
->where('direccion','=', 1)->get();
$historial = $historialtodo->union($historial1);
Me salta el siguente error:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DISTINCT(valor) from `historial` where `direccion` = ?' at line 1 (SQL: select `id_historial`, `direccion`, DISTINCT(valor) from `historial` where `direccion` = 1)
source https://stackoverflow.com/questions/68595388/seleccionar-m%c3%a1s-columnas-en-consulta
Comments
Post a Comment