sql – Obtener una fila por cada ID de una consulta según el ultimo código de la tabla hija relacionada

Tengo una consulta que deseo me retorne una única fila de acuerdo a codeRecurrence.
Esta es la consulta.

SELECT CODERECURRENCY, CODEDCURRENCYDETAILS, STATUSGENERALVALUE, PROCESSDATE, TRANSACTIONDATE, CONTRACTIDENTIFIER,
DESCRIPCIONARTICULO, NUMBERDOCUMENTCLIENT, CUSTOMERNAME,
VALUE, BUSINESSTYPEVALUE, TYPERECURRENCYDETAILSVALUE, CAUSALTYPE, CAUSALVALUE, NOMBRECATALOGOVALOR, SEQNUM
FROM(
    SELECT REC.CODERECURRENCY, RDET.CODEDCURRENCYDETAILS, REC.STATUSGENERALVALUE, REC.PROCESSDATE, RDET.TRANSACTIONDATE, SUB.CONTRACTIDENTIFIER,
ART.DESCRIPCIONARTICULO, SUB.NUMBERDOCUMENTCLIENT, SUB.CUSTOMERNAME, SUB.INVOICEDATACODE,
REC.VALUE, PROD.BUSINESSTYPEVALUE, RDET.TYPERECURRENCYDETAILSVALUE, RDET.CAUSALTYPE, RDET.CAUSALVALUE, CAT.NOMBRECATALOGOVALOR, 
ROW_NUMBER() OVER (PARTITION BY REC.CODERECURRENCY) AS SEQNUM
FROM SCTMBTRECURRENCY REC, SCTMBTRECURRENCYDETAILS RDET, SCTMBTSUBSCRIPTION SUB, SCTMBTSUBSCRIPTIONPRODUCT PROD, 
SCSPETARTICULO ART, SSPCOTCATALOGOVALOR CAT
WHERE REC.CODERECURRENCY = RDET.CODERECURRENCY 
AND REC.CODESUSCRIPTION = SUB.CODESUSCRIPTION 
AND REC.CODESUBSCRIPTIONPRODUCT = PROD.CODESUBSCRIPTIONPRODUCT 
AND ART.CODIGOARTICULO = PROD.PRODUCTCODE
AND RDET.CAUSALTYPE = CAT.CODIGOCATALOGOTIPO
AND RDET.CAUSALVALUE  = CAT.CODIGOCATALOGOVALOR
AND REC.STATUSGENERALVALUE NOT IN ('FIN','FOB','SCU')
AND RDET.STATUSCURRENCYDETAILSVALUE != 0
AND REC.ORIGINRECURRENCEVALUE = 'INT'
ORDER BY REC.CODERECURRENCY DESC, RDET.CODEDCURRENCYDETAILS DESC
)
WHERE SEQNUM = 1
ORDER BY TRANSACTIONDATE DESC, CODERECURRENCY DESC

Al correr el select interno me devuelve la lista ordenada de manera descendente, haciendo que ROW_NUMBER se posicione de tal manera que el valor de SEQNUM gana el valor de 1 que serviría para comparar después, pero al correr la consulta exterior cambia de posición haciendo que el valor 1 pase a ser 3, haciendo que no me sea de utilidad ya que necesito el ultimo valor insertado según la tabla hija. muestro los datos a continuación.

Consulta Interior.

CODERECURRENCY|CODEDCURRENCYDETAILS|STATUSGENERALVALUE|PROCESSDATE        |TRANSACTIONDATE    |SEQNUM|
--------------|--------------------|------------------|-------------------|-------------------|------|
         16202|               14510|ERR               |2020-10-23 12:08:26|2020-11-27 16:53:57|     1|
         16202|               14094|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:47|     2|
         16202|               14093|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:41|     3|
         16201|               14088|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:43|     1|
         16201|               14087|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:37|     2|
         16201|               14083|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:15|     3|
         16201|               14082|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:09|     4|
         16201|               14078|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:47|     5|
         16201|               14077|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:41|     6|
         16201|               14073|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:19|     7|
         16201|               14072|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:13|     8|
         16123|               13675|ERR               |2020-10-01 17:06:17|2020-10-01 17:06:28|     1|
         16050|               13511|ERR               |2020-09-21 14:11:31|2020-09-21 14:11:31|     1|
         16043|               13470|EXR               |2020-09-16 10:04:20|2020-09-16 10:07:00|     1|
         16031|               13411|ERR               |2020-09-14 16:16:15|2020-09-15 16:16:29|     1|
         15467|               11872|ERR               |2020-09-01 14:52:23|2020-09-01 14:52:23|     1|

Consulta General sin WHERE SEQNUM = 1

CODERECURRENCY|CODEDCURRENCYDETAILS|STATUSGENERALVALUE|PROCESSDATE        |TRANSACTIONDATE    |SEQNUM|
--------------|--------------------|------------------|-------------------|-------------------|------|
         16202|               14510|ERR               |2020-10-23 12:08:26|2020-11-27 16:53:57|     3|
         16202|               14094|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:47|     2|
         16202|               14093|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:41|     1|
         16201|               14088|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:43|     8|
         16201|               14087|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:37|     7|
         16201|               14083|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:15|     6|
         16201|               14082|EXR               |2020-10-22 23:51:58|2020-10-22 23:53:09|     5|
         16201|               14078|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:47|     4|
         16201|               14077|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:41|     3|
         16201|               14073|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:19|     2|
         16201|               14072|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:13|     1|
         16123|               13675|ERR               |2020-10-01 17:06:17|2020-10-01 17:06:28|     1|
         16050|               13511|ERR               |2020-09-21 14:11:31|2020-09-21 14:11:31|     1|
         16043|               13470|EXR               |2020-09-16 10:04:20|2020-09-16 10:07:00|     1|
         16031|               13411|ERR               |2020-09-14 16:16:15|2020-09-15 16:16:29|     1|
         15467|               11872|ERR               |2020-09-01 14:52:23|2020-09-01 14:52:23|     1|

Consulta usando SEQNUM

ODERECURRENCY|CODEDCURRENCYDETAILS|STATUSGENERALVALUE|PROCESSDATE        |TRANSACTIONDATE    |SEQNUM
-------------|--------------------|------------------|-------------------|-------------------|------
        16202|               14093|ERR               |2020-10-23 12:08:26|2020-10-23 12:08:41|     1
        16201|               14072|EXR               |2020-10-22 23:51:58|2020-10-22 23:52:13|     1
        16123|               13675|ERR               |2020-10-01 17:06:17|2020-10-01 17:06:28|     1
        16050|               13511|ERR               |2020-09-21 14:11:31|2020-09-21 14:11:31|     1
        16043|               13470|EXR               |2020-09-16 10:04:20|2020-09-16 10:07:00|     1
        16031|               13411|ERR               |2020-09-14 16:16:15|2020-09-15 16:16:29|     1
        15467|               11872|ERR               |2020-09-01 14:52:23|2020-09-01 14:52:23|     1
        14891|                9665|EXR               |2020-08-25 10:19:16|2020-08-25 10:20:20|     1
        14744|                8449|ERR               |2020-08-11 15:27:24|2020-08-11 15:27:26|     1
        14659|                8192|ERR               |2020-07-16 17:28:18|2020-07-16 17:28:27|     1
        14580|                8028|ERR               |2020-07-09 09:03:34|2020-07-09 09:03:36|     1
        14570|                8008|ERR               |2020-06-29 14:07:09|2020-06-29 14:07:12|     1
        14559|                7970|PEN               |2020-06-26 16:32:35|2020-06-26 16:32:13|     1

Como puedo evitar que cambie el orden al correr toda la consulta. Uso el motor DB2

mysql – Crear un trigger en la misma tabla

quiero crear un trigger en la misma tabla que copie el valor de la llave primaria a otro campo en esta misma tabla, desconozco del tema y ya intente con otros métodos pero o se me bloquea la tabla o el valor al utilizar before lo copia como 0, podrían ayudarme?

CREATE TRIGGER igualador_AI AFTER INSERT ON prueba
FOR EACH ROW
BEGIN
SET entrada = NEW.id_prueba WHERE id_prueba = NEW.entrada
END

Mi tabla se llama prueba, mi campo que quiero sea igual a la llave primaria (id_prueba) se llama entrada, gracias.

base de datos – Hacer pivot a una tabla con un cursoren sql server

Cordial saludo.

Lo que deseo hacer es un cursor que me permita hacer pivot a una tabla, lo he intentado pero no me funciona.

Esta es la tabla que deseo pivotear:

introducir la descripción de la imagen aquí

Este es el código para crear la tabla e insertar los datos:

CREATE TABLE TABLA_1 (
       TERMINAL VARCHAR(MAX),
       TEXT_NAME VARCHAR(MAX),
       CONTENT VARCHAR(MAX)
);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’ID RAN’,’2′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’NOMBRE RAN’,’PORT_L’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’NOMBRE RAN’,’LOR_P’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’56’,’ID RAN’,’5′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’56’,’NOMBRE RAN’,’PROMPT’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’78’,’ID RAN’,’5′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’78’,’ID AS’,’9′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’88’,’POL_L’,’DEFINIDO’);

y este es el resultado que espero:

introducir la descripción de la imagen aquí

Cabe aclarar que estos datos son de ejemplo, solo quiero saber si se puede dar vuelta a una tabla con un cursor y si la respuesta es sí, quisiera saber como. Estoy empezando con sql serve.

Agradezco la ayuda.

javascript – Como hago para se estire por toda la tabla mi thead y mi tbody

como hago para que mi <thead></thead> mi <tbody></tbody> se ajuste a todo la tabla

Bueno el <thead></thead> mi tabla es statico y el <tbody></tbody> tiene un scroll para poder ver no . pero como pueden ver no se acopla al ancho de mi tabla sinos sigue a existiendo campos vacios

alguna sugerencia para que mi <tbody></tbody> y mi <thead></thead> se auto ajuste a mi width de mi table

tengo el siguiente ejemplo de mi table

 $('table').on('scroll', function() {
  $("#" + this.id + " > *").width($(this).width() + $(this).scrollLeft());
});
html {
  font-family: verdana;
  font-size: 10pt;
  line-height: 25px;
}

table {
  border-collapse: collapse;
  width: 300px;
  overflow-x: scroll;
  display: block;
}

thead {
  background-color: #121F3D;
  color:white;
}

thead,
tbody {
  display: block;
}

tbody {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 140px;
}

td,
th {
  min-width: 100px;
  height: 25px;
  border: dashed 1px lightblue;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100px;
    border-color:red;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container-fluid">
  <div class="row">
    <div class="col-sm-6 col-md-6">
      <div class="table-responsive">
        <table class="table" id="table1">
          <thead>
            <tr>

              <th>Firstname</th>
              <th>Lastname</th>
              <th>Age</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>1</td>
              <td>Mantenimiento De Vehiculos Y Ayuda A De Cables Sss</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
            <tr>
              <td>1</td>
              <td>Anna</td>
              <td>Pitt</td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    

Bueno como en mi ejemplo muestro mi table. sus columnas no se ajustan en toda la tabla sinos se limitan

Me gustaria que la las columnas ocupen todo su width de mi table pero sin perder el <thead></thead/> estatico .

alguna solución gracias

php – UPDATE a tabla mysql con json y ajax (jquery)

estoy creando un CRUD del cual obtengo los datos desde una tabla mysql que luego convierto a json.
El punto es que logro listar los datos en mi HTML, pero lo que no se hacer es actualizar los campos al momento de presionar editar desde mi modal(bootstrap).

En concreto no se como tendria que ir mi archivo editar.php para que realice la actualización de los datos en la tabla mysql y luego sean reflejados en la tabla en la vista HTML.

Les dejo el codigo que tengo hasta al momento :

// Codigo php de editar.php


<?php
include_once('conexion.php');
$query = "SELECT * FROM productos";
$resource = $conn->query($query);
$total = $resource->num_rows;

while ($row = $resource->fetch_assoc()){
//print_r($row);
    $row('nombre')=utf8_encode($row('nombre'));
    $row('categoria')=utf8_encode($row('categoria'));
    $row('frase_promocional')=utf8_encode($row('nombre'));
    $row('descripcion')=utf8_encode($row('descripcion'));

  $array() = $row;
 
}

///listando json///

 if(json_encode($array))
 {echo json_encode($array);} 
 else{ echo json_last_error_msg();}
/* echo "<pre>",print_r($array, 1),"</pre>"; */


/// EDITAR /// 


if(isset($_GET('editar'))){
  $id = $_GET('id');
  $result = $mysqli->query("SELECT * FROM productos WHERE id=$id") or die($mysqli->error());
}

Codigo Jquery de editar.js

$(document).ready(function() {
    //Abre el Modal
    $('#modalEditar').on('show.bs.modal', function (event) {
        var button = $(event.relatedTarget)
        var identificador = button.data('identificador')
        var modal = $(this)
        modal.find('.modal-body #identificador').val(identificador)
        
       /*  var imagen = button.data('imagen'); */
        var nombre = button.data('nombre')
        var descripcion = button.data('descripcion')
        var codigo = button.data('codigo')
        var categoria = button.data('categoria')
        var frase_promocional = button.data('frase_promocional')
        var colores = button.data('colores')
        var precio = button.data('precio')
        var disponibilidad = button.data('disponibilidad')
        var promocion = button.data('promocion')
        var fecha = button.data('fecha')

        /* modal.find('.modal-body #url-imagen').val(imagen); */
        modal.find('.modal-body #nombre').val(nombre)
        modal.find('.modal-body #descripcion').val(descripcion)
        modal.find('.modal-body #codigo').val(codigo)
        modal.find('.modal-body #categoria').val(categoria)
        modal.find('.modal-body #frase_promocional').val(frase_promocional)
        modal.find('.modal-body #colores').val(colores)
        modal.find('.modal-body #precio').val(precio)
        modal.find('.modal-body #disponibilidad').val(disponibilidad)
        modal.find('.modal-body #promocion').val(promocion)
        modal.find('.modal-body #fecha').val(fecha)
       
      })

    // Editando la base de datos correspondiente
    $('#editar_btn').click(function() {
        console.log("Editando")

        /* var imagen = $('#modalEditar #url-imagen').val(); */
        var nombre = $('#modalEditar #nombre').val()
        var descripcion = $('#modalEditar #descripcion').val()
        var identificador = $('#modalEditar #identificador').val()

        var codigo = $('#modalEditar #codigo').val()
        var categoria = $('#modalEditar #categoria').val()
        var frase_promocional = $('#modalEditar #frase_promocional').val()
        var colores = $('#modalEditar #colores').val()
        var precio = $('#modalEditar #precio').val()
        var promocion = $('#modalEditar #promocion').val()
        var fecha = $('#modalEditar #fecha').val()

        var json = {
            "columnas": ("nombre", "descripcion","codigo","categoria","frase_promocional","colores","precio", "disponibilidad","promocion","fecha"),
            "valores": (nombre,descripcion,codigo,categoria,frase_promocional,colores,precio,disponibilidad,promocion,fecha ),
            "indice": "id",
            "valor_indice": identificador,
            "tabla": "productos",
        }

        // metodo post
        $.post({
            url: 'editar.php', //editar
            data: {'editar': json},
            dataType: 'json', 
            success: function(respuesta) {
                if (respuesta == 1) {
                    listar_productos();
                    $('#modalEditar').modal('hide')
                } else {
                    console.error("Problemas al editar producto")
                    console.error(respuesta)
                }
            },
            error: function() {
                console.error("Sin Respuesta editar producto");
            }
        });

        

    });
    
});

javascript – ¿Cómo colorear un campo específico de una tabla dinámica realizada con React?

soy nueva en el campo de la programación y más en este lenguaje.
Necesito que un campo de una tabla dinámica que tenga un fondo diferente dependiendo de su contenido, así como en la imagen, no se me ocurre como realizarlo lo he intentado con jquery. La tabla es creada con react co valores obtenidos desde una bd de Firebase.

debe quedar de esta manera

Este es donde pinta la tabla.

        return this.state.data.map((point, index) => {
            return <tr key={index}
            id={index}
            style={rowStyle}
            className="mask flex-center rgba-red-strong"
            // description={point.desc}
            ica={point.ICA}
            >
            <td style={{display:'none'}}>{point.id}</td>
            <td>{point.zonaHoraria}</td> 
            <td style={{textAlign:'left'}}>{point.coments}</td>
            <td style={{display:'none'}}>{point.puntoscardenales}</td>
            <td>{this.roundNumbers(point.ICA)}</td>
            <td>{point.criterio}</td>
            {/* onBlur={{function(){if(point.criterio == "Aceptable"){$('td').css('background-color','blue');}}}} */}
            <td style={{display:'none'}}>{this.roundNumbers(point.IWTotal)}</td>
            <td style={{display:'none'}}>{this.roundNumbers(point.generalTotalWeight)}</td>
            <td>{this.roundNumbers(point.indicadoresConsideradosTotal)}</td>
            <td style={{display:'none'}}>{point.lat}</td>
            <td style={{display:'none'}}>{point.lng}</td>
            <td style={{textAlign:'center'}}>{this.roundNumbers(point.margenError)}</td>
            <td style={{textAlign:'center'}}>{point.userToma}</td>
            <td>{point.userEditor}</td>
            <td style={{display:'none'}}>{point.desPunto}</td>
            <td>{point.ObservaLabo}</td>
            <td><button type="button" className="btn btn-primary" data-toggle="modal" data-target=".bd-edit-modal-lg" onClick={this.onDataClick.bind(this, point)}>Editar Registro</button></td>
            <td><button type="button" className="btn btn-success" data-toggle="modal" data-target=".bd-crite-modal-lg" onClick={this.ObservaLabo.bind(this, point)}>Agregar Observación</button></td>
            </tr>
        })
    } 

Intento leer todas filas de la tabla pero solo la columna de “criterio general”, pero solo lee la primera fila. No se que hacer para solucionar el problema. Gracias si podrían ayudarme.

phpmyadmin – Como calcular el saldo en una tabla, con ingresos y egresos en MYSQL

Muy buenas, quisiera calcular el saldo con los movimientos que tiene un cliente determinado, tengo que ir sumando las cantidades que se encuentren en la columna Cantidad y restando la columna Cantidad_dev esto en cada línea.
Esta es la estructura de mi tabla

introducir la descripción de la imagen aquí

Necesito poder recorrer todas las filas donde se encuentre ese cliente.

Quiero un resultado aproximadamente como la siguiente tabla, donde el debe sería mi columna Cantidad, el Haber la columna Cantidad_dev.

introducir la descripción de la imagen aquí

Desde ya gracias!!!

javascript – cual podría ser la razón que un borde de la tabla desaparezca?

  1. código en js para cambiar color de una figura que puede ser una cruz , cuadrado y
    triangulo

      function cambiarRojo() {
      var Filas = document.getElementsByClassName("clase");
      ().forEach.call(Filas, function (rojo) {
      rojo.style.backgroundColor = "red";
      });
      }
    
  2. código js que es para hacer la figura y lo mismo que puede ser una cruz , cuadrado y
    triangulo

     let claseB = ('cuadrog', 'cuadroh', 'cuadroi', 'cuadrol', 'cuadrom', 'cuadron', 'cuadroq', 
    'cuadror', 'cuadros');
    
     function figura_cuadrado() {
      for (let clasesCuadrado of claseB) {
    var cuadrado = document.getElementsByClassName(clasesCuadrado);
    for (var i = 0; i < cuadrado.length; i++) {
        if (cuadrado(i).style.visibility == "hidden") {
            cuadrado(i).style.display == "";
        } else {
            cuadrado(i).style.visibility = "hidden";
           }
         }
        }
      }
    
  3. código HTML que es la tabla que realice clasificando por clases cada cuadrado para poder
    diseñar la formas que necesito que debe ser cruz , cuadrado o triangulo

      <div>
    <table class="table2">
    <tr>
      <td class="clase cuadroa">&nbsp;</td>
      <td class="clase cuadrob">&nbsp;</td>
      <td class="clase cuadroc">&nbsp;</td>
      <td class="clase cuadrod">&nbsp;</td>
      <td class="clase cuadroe">&nbsp;</td>
    </tr>
    <tr>
      <td class="clase cuadrof">&nbsp;</td>
      <td class="clase cuadrog">&nbsp;</td>
      <td class="clase cuadroh">&nbsp;</td>
      <td class="clase cuadroi">&nbsp;</td>
      <td class="clase cuadroj">&nbsp;</td>
    </tr>
    <tr>
      <td class="clase cuadrok">&nbsp;</td>
      <td class="clase cuadrol">&nbsp;</td>
      <td class="clase cuadrom">&nbsp;</td>
      <td class="clase cuadron">&nbsp;</td>
      <td class="clase cuadroo">&nbsp;</td>
    </tr>
    <tr>
      <td class="clase cuadrop">&nbsp;</td>
      <td class="clase cuadroq">&nbsp;</td>
      <td class="clase cuadror">&nbsp;</td>
      <td class="clase cuadros">&nbsp;</td>
      <td class="clase cuadrot">&nbsp;</td>
    </tr>
    <tr>
      <td class="clase cuadrou">&nbsp;</td>
      <td class="clase cuadrov">&nbsp;</td>
      <td class="clase cuadrow">&nbsp;</td>
      <td class="clase cuadrox">&nbsp;</td>
      <td class="clase cuadroy">&nbsp;</td>
    </tr>
    
  4. este es la otra parte que es la radio para seleccionar que es lo que quiero formar y dar el color

        <div>
       <table class="table1">
        <tr>
        <th>Color</th>
        th>Forma</th>
    </tr>
    <tr>
      <td>
        <input type="radio" name="color" onclick="cambiarRojo()" id="rojo" />Rojo
      </td>
      <td>
        <input type="radio" name="figura" onclick="figura_cruz();" />Cruz
      </td>
    </tr>
    <tr>
      <td>
        <input type="radio" name="color" onclick="cambiarAmarillo()" id="amarillo" />Amarillo
      </td>
      <td>
        <input type="radio" name="figura" onclick="figura_cuadrado();" />Cuadrado
      </td>
    </tr>
    <tr>
      <td>
        <input type="radio" name="color" onclick="cambiarVerde()" id="verde" />Verde
      </td>
      <td>
        <input type="radio" name="figura" onclick="figura_triangulo();" />Triangulo
      </td>
    </tr>
    
  5. css

    body { 
     font-family: Arial, Helvetica, sans-serif;
     }
     h1 {
     text-align: center;
     font-size: 80px;
     }
    .table1 {
    margin-left: auto;
    margin-right: auto;
    }
    th {
    font-size: 40px;
    padding-left: 50px;
    padding-right: 50px;
    }
    td {
    padding-left: 50px;
    padding-top: 10px;
    }
    .table2 {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    border-collapse:collapse;
    }
    .clase {
    border: black 1px solid;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 80px;
     }
    

resulta que cuando selecciono la forma cuadrado o triangulo un borde de la ultima fila se pierde, en el css tengo la propiedad bordercollapse:collapse , que con esa propiedad me pasa eso, al poner solo border-spacing:0px bueno no sucede ya que saca el espacio entre columna , pero no queda muy bien estéticamente

lo otro que sucede es que cuando quiero cambiar nose ejemplo: de cuadrado a triangulo o a otra forma ya no se pone en la figura , no se como plantear algún tipo de reinicio de valores al momento que vaya cambiando las formas, si podrían ayudarme se lo agradecería , saludos