sql >> Databáze >  >> RDS >> Mysql

Postup MySQL v rámci výběru?

Procedura Ticket_FiscalTotals vrací sadu dat s některými poli, ale potřebujete pouze jedno z nich – Service . Přepište svůj postup na uloženou funkci - Get_Ticket_FiscalTotals_Service .

Dalším způsobem je vytvořit a vyplnit dočasnou tabulku v proceduře a přidat tuto dočasnou do dotazu, např.:

DELIMITER $$

CREATE PROCEDURE Ticket_FiscalTotals()
BEGIN
  DROP TEMPORARY TABLE IF EXISTS temp1;
  CREATE TEMPORARY TABLE temp1(
    Service FLOAT(10.2),
    Items FLOAT(10.2),
    SalesTax FLOAT(10.2),
    eTaxAmount FLOAT(10.2),
    GrandTotal FLOAT(10.2)
  );
  INSERT INTO temp1 VALUES (75.0, 325.0, 25.19, 8.0, 433.19);
END
$$

DELIMITER ;

-- Usage
CALL Ticket_FiscalTotals();
SELECT t.*, tmp.service FROM Ticket t, temp1 tmp;


  1. Jak mohu použít uživatelem definovanou proměnnou MySql v .NET MySqlCommand?

  2. Zkontrolujte, zda existuje řádek pomocí starého mysql_* API

  3. Porovnejte data v T-SQL, ignorujte časovou část

  4. Formátovat výsledky dotazu SQLite jako sloupce se záhlavími sloupců