Consulta en mysql para obtener un valor minimo dependiento de otras columnas

Soy nuevo por aquí. Después de rebuscar y tratarlo todo me animo a pedir ayuda. Voy a tratar de explicarme lo mejor posible.

Tengo una tabla en una base de datos mysql de control de precios y stocks de productos por proveedor. Esta tabla se cumplimenta automáticamente desde otras tablas. La tabla tiene las siguientes columnas

  • Referencia: Número de referencia del producto igual en todos los proveedores

  • Coste pr.1 : Coste proveedor 1

  • Coste pr.2 : Coste proveedor 2

  • Coste pr.3 : Coste proveedor 3

  • Stock pr. 1: Stock proveedor 1

  • Stock pr. 2: Stock proveedor 2

  • Stock pr. 3: Stock proveedor 3

  • Stock To. : Stock total. Suma automática de todos los stocks

  • Precio Min. con stock: Precio mínimo de coste con stock mayor que cero.

El problema lo tengo haciendo la consulta del Precio Min. con stock.

Necesito hallar el precio mínimo de las tres columnas de coste siempre que el proveedor tenga stock.

Estuve peleándome con la Función MIN, pero estoy atascado aquí.

Trato de explicar el ejemplo siguiente.

El proveedor 1 tiene un coste de 10 y un stock de 25, el proveedor 2 tiene un coste de 4 y un stock de 80 el proveedor 3 tiene un coste de 2 pero stock cero. La consulta en este caso tiene que resultarme 4, ya que es el precio mínimo con stock.

Referencia Coste pr. 1 Coste pr. 2 Coste pr. 3 Stock pr. 1 Stock pr. 2 Stock pr. 3 Stock To. Precio Min. con stock
000001 10 4 2 25 80 0 105 4

sql – Remplazar espacios por guion bajo en el nombre de las columnas?

Buen dia

Estoy utilizando sql y Quisiera saber si existe alguna forma de remplazar los espacios
en los nombres de las columnas por guiones bajo(_)

adjunto imagen con nombre actual

introducir la descripción de la imagen aquí

Espero que me puedan ayudar, Gracias

Ojo:La tabla que tengo son 32 columnas si pueda hacerlo en general estaria agradecido

javascript – agregar columnas dinamicamente con ngx-datatable?

estoy trabajando con angular,
estoy buscando una manera de agregar columnas a un ngx-datatable “dinámicamente” pero no puedo encontrar una manera. Lo que estoy tratando de lograr es apartir de algunos datos que me llegan del backend, crear checkbox y poder llenar la tabla con los datos que le corresponden.

el array que me llega del backend tiene este formato.

     row = (
      {role: "administrador", id: 1}
      {role: "operario", id: 2}
      {role: "visitante", id: 3}
     )

lo que logre fue lo siguiente

introducir la descripción de la imagen aquí

Mi archivo grid.html

    <form appParentFormSubmit appChildFormSubmit (formGroup)="formGroup" 
    *ngIf="formField.name">

    <ngx-datatable #myTable class="material" style="width: 100%" (rows)="rows" 
    (columnMode)="ColumnMode.force"
    (headerHeight)="50" (footerHeight)="50" (rowHeight)="50" (limit)="5" 
    (selected)="selected"
    (selectionType)="SelectionType.checkbox" (selectAllRowsOnPage)="false" 
    (displayCheck)="displayCheck"
    (activate)="onActivate($event)" (select)="onSelect($event)" (scrollbarV)="false" 
    (page)="onPage($event)"
   (loadingIndicator)="loadingIndicator" (reorderable)="reorderable">

   <ngx-datatable-column (width)="60" (sortable)="false" (canAutoResize)="false" 
   (draggable)="false"
   (resizeable)="false" (headerCheckboxable)="true" (checkboxable)="true">
   </ngx-datatable-column>

   <ngx-datatable-column *ngFor="let col of columns; let i = index" (name)="col.name" 
   (flexGrow)="col.flexGrow">
   <ng-template ngx-datatable-header-template>
   {{ col.name }}
   </ng-template>
   <ng-template let-value="value" ngx-datatable-cell-template>
   {{ col.prop }}
   </ng-template>
   </ngx-datatable-column>

   <ngx-datatable-column (width)="80" (resizeable)="true" (sortable)="true" 
   (draggable)="true" (canAutoResize)="false"
   (frozenLeft)="false" (checkboxable)="true" (headerCheckboxable)="true" >

   </ngx-datatable-column>

  <ngx-datatable-column (width)="20" (resizeable)="true" (sortable)="true" 
  (draggable)="true" (canAutoResize)="false"
   (frozenLeft)="false">
   <ng-template let-row="row" let-expanded="expanded" ngx-datatable-cell-template>
     <a href="javascript:void(0)" (class.datatable-icon-right)="!expanded" 
    (class.datatable-icon-down)="expanded"
       title="Expand/Collapse Row" (click)="toggleExpandRow(row)">
     </a>
    </ng-template>
   </ngx-datatable-column>
 
   </ngx-datatable>
  </form>

Mi archivo generico grid.ts

      import { Component, OnInit, Input, ApplicationRef, ComponentFactoryResolver, 
      Injector, ViewChild, ElementRef } from '@angular/core';
      import { FormGroup } from '@angular/forms';
      import { ColumnMode,SelectionType } from '@swimlane/ngx-datatable';
      import { FormField } from '../../generic-input/models/form-field.model';

      @Component({
      selector: 'app-grid-row-detail',
      templateUrl: './grid-row-detail.component.html',
      })
      export class GridRowDetail<T> implements OnInit {
      @Input()
      formField: FormField<T> = new FormField();
      @Input()
      formGroup: FormGroup = new FormGroup({});
      @Input()
      required = false;
      @Input()
      classes: string;

      @ViewChild("myTable", { static: false }) table: any;
      public rows = ();

      public timeout: any;

      public selected = ();

      public columns = ();

      public ColumnMode = ColumnMode;

      public SelectionType = SelectionType;
  
      public resultColumns: any() = ();

      public type = SelectionType;
      constructor() {
      }

      ngOnInit() {
      this.generateColumns();
      this.rows = this.formField.componentGridExpandable.row;
      this.columns = this.formField.componentGridExpandable.columns;

       }

       onSelect({ selected }) {
       console.log('Select Event', selected, this.selected);
       this.selected.splice(0, this.selected.length);
       this.selected.push(...selected);
       }

       onActivate(event) {
       console.log('Evento activado', event);
        }


        generateColumns() {
        this.formField.componentGridExpandable.row.forEach((item) => {

          this.formField.componentGridExpandable.columns.push({
           prop: item.role,
          })
          })
          console.log(this.formField.componentGridExpandable.columns);
   
         }
        }

El archivo en el cual armo la grilla add.grid.ts

          @Component({
          selector: 'app-add-update',
          templateUrl: './add-update.component.html',
            })
           export class AddUpdateComponent extends DefaultAddUpdateComponent<User> 
         implements OnInit 
          {
          public columns;
          public row;
          public id;

          formFields: FormField<User & { 'new-password'?: string, 'other-password'?: 
           string }>() 
         = (
           {
           name: 'rols',
          label: 'roles',
           placeholder: 'search_by_id_number',
          type: 'componentGridExpandable',
          componentGridExpandable: {
          row:(

           ),
           columns: (
           {
           name: "Roles",
            prop: "role",
          },
          {
           name: "ID",
           prop: "id",
          }
          ),
           }
           },
            );


          @ViewChild('genericForm', { read: false, static: false }) genericForm: 
          GenericFormComponent<User>;

           constructor(
           public activatedRoute: ActivatedRoute,
            public router: Router,
          public gridDataService: GridEventsService,
          public alertService: AlertService,
         public modalOutletService: ModalOutletService,
         private userService: UserService,
         private extrasService: ExtrasService,
         ) {
        super(activatedRoute, router, gridDataService, alertService, 
         modalOutletService);
        this.initVars();
          }

         ngOnInit() {
        super.ngOnInit();
         }

        async initVars() {
         const rolsType = (await this.extrasService.getRoles());
         const formFieldsData = this.formFields
        const datosversianda = ();
        const pushear = ();
       formFieldsData.map(function (dataCol) {
       if (dataCol.type === 'componentGridExpandable') {
       rolsType.map(item2 => {
      pushear.push({ role: item2.role, id: item2.id, permissions: item2.permissions 
      })
      })
     dataCol.componentGridExpandable.row = pushear
    }
    })
    }

    }

Cualquier ayuda se los agradezco, desde ya muchas gracias.

¿Cómo puedo convertir una fila en columnas Ordenadas y con condiciones mySQL?

Deseo convertir una fila en columnas ordenadas incorporando una condición.

Esta es mi tabla: wpuk_usermeta

introducir la descripción de la imagen aquí

Tengo el código así:

SELECT meta_value 
FROM wpuk_usermeta 
WHERE meta_key IN ('TeamName' 'tag' 'Player01' 'Player02'  'Player03' 'Player04') 
GROUP BY user_id 
ORDER BY user_id ASC 

El resultado es:

introducir la descripción de la imagen aquí

Deseo Tener como resultado: “que muestre sólo los aprobados”
y que las columnas estén ordenadas no juntas.

RANGERS    RS  Jolito  relito  ilodt   huskd
LEONES     LS  lolito  colito  boodt   usskd

Me pueden ayudar por favor.

javascript – como separo las columnas con una línea divisoria las tablas de vuetify?

hola tengo una duda como separo con una linea divisoria las columnas de una tabla de vuetify? quiero separarlas así se ve mejor pero no se hacerlo, alguna sugerencia? el código sería el de la página de vuetify una simple:

<template>
  <v-data-table
    :headers="headers"
    :items="desserts"
    :items-per-page="5"
    class="elevation-1"
  ></v-data-table>
</template>

y el script:

  export default {
    data () {
      return {
        headers: (
          {
            text: 'Dessert (100g serving)',
            align: 'start',
            sortable: false,
            value: 'name',
          },
          { text: 'Calories', value: 'calories' },
          { text: 'Fat (g)', value: 'fat' },
        ),
        desserts: (
          {
            name: 'Frozen Yogurt',
            calories: 159,
            fat: 9.0
          },
        ),
      }
    },
  }

¿Es mejor tener columnas de mas o de menos en SQL?

como les va?

Tengo la siguiente consulta, estoy trabajando en un proyecto y me gustaria comprender lo siguiente..
Estoy defininiendo una tabla en SQL con 8 pares de campos… desde y hasta kilos, desde y hasta bultos, desde y hasta cobro, desde y hasta porcentaje (los campos pueden ser enteros o decimales), y aparte debo agregar para cada uno un campo Bandera…para definir el tipo de rango que es, puede ser Basico (1), No basico (2), Otro (3), el campo bandera es siempre Entero. No se si es conveniente definir una bandera para cada par, o solo una para todos; de igual manera siempre en cada registros, solo se cargara una opcion: o kilos, o bultos, o cobro o porcentaje, y el resto queda en NULL.

php – encontrar valor maximo y minimo numérico de varias columnas

tengo una tabla con columnas desde la A hasta la H:

introducir la descripción de la imagen aquí

necesito determinar con una consulta cual de las columnas es mayor y cual es menor haciendo un update.

he hecho este código pero no lo tengo claro como recorrer las columnas de la A a la H y hacer el update

$mayor="(SELECT MAX(numero) as ???) FROM " . TABLE . "";
$menor="(SELECT MIN(numero) as ???) FROM " . TABLE . "";
update " . TABLE . " set mayor = $mayor, menor = $menor

python – Como sumar filas con condición de columnas con Pandas o Numpy

He estado trabajando con un archivo csv el cual ya he limpiado un poco, lo que me interesa saber es como sumar los valores de mi columna “Global_Sales” pero separándolas por los años de otra columna, por ejemplo, sumar todas las de el 2006, luego las de el 2007 y así hasta el 2016, pero que los valores de sumas totales se queden en la misma tabla.
| Publisher | Year | Sales |
|:——— |:——:| ——-:|
| Nintendo | 2006 | 5 |
| Nintendo | 2006 | 8 |
| Nintendo | 2007 | 3 |
| Nintendo | 2007 | 4 |
Son mas de 10000 valores, pero pongo eso como ejemplo, en realidad “Publisher” no importa porque todos son Nintendo, pero si me gustaría sumar todos los de cada año y que quedara en una tabla similar a esta.
| Year | Sales |
| ———— | ————- |
| 2006 | 13 |
| 2007 | 7 |
Y así sucesivamente con cada año.
Muchas gracias y espero me puedan ayudar.