<< Click to Display Table of Contents >> Navigation: Appendix > SQL snipits |
SELECT
customer_id, COUNT(customer_id),
contract_id, COUNT(contract_id)
FROM
dsptch30_contract
GROUP BY
customer_id, contract_id
HAVING
COUNT(customer_id) > 1 AND COUNT(contract_id) > 1
SELECT
ticket_number, COUNT(ticket_number)
FROM
shipment_ticket
GROUP BY
ticket_number
HAVING
COUNT(ticket_number) > 1
SELECT t2.customer_id, t1.contract_id, item, COUNT(*) AS duplicate_count
FROM dsptch30_contract_item t1
LEFT JOIN dsptch30_contract t2 ON t2.row_id = t1.contract_row_id
WHERE t2.customer_id IS NOT NULL
GROUP BY t2.customer_id, t1.contract_id, item
HAVING COUNT(*) > 1;
SELECT
{ fn CURDATE() } AS "CURDATE()",
{ fn CURRENT_DATE() } AS "CURRENT_DATE()",
{ fn CURRENT_TIME(6) } AS "CURRENT_TIME()",
{ fn CURRENT_TIMESTAMP() } AS "CURRENT_TIMESTAMP()",
{ fn CURTIME() } AS "CURTIME()",
{ fn DAYNAME({ fn CURRENT_DATE() }) } AS "DAYNAME()",
{ fn DAYOFMONTH({ fn CURRENT_DATE() }) } AS "DAYOFMONTH()",
{ fn DAYOFYEAR({ fn CURRENT_DATE() }) } AS "DAYOFYEAR()",
{ fn HOUR({ fn CONVERT({ fn CURRENT_TIME() }, TIME) }) } AS "HOUR()",
{ fn MINUTE({ fn CONVERT({ fn CURRENT_TIME() }, TIME) }) } AS "MINUTE()",
{ fn MONTH({ fn CURRENT_DATE() }) } AS "MONTH()",
{ fn MONTHNAME({ fn CURRENT_DATE() }) } AS "MONTHNAME()",
{ fn NOW() } AS "NOW()",
{ fn QUARTER({ fn CURRENT_DATE() }) } AS "QUARTER()",
{ fn SECOND({ fn CONVERT({ fn CURRENT_TIME() }, TIME) }) } AS "SECOND()",
{ fn WEEK({ fn CURRENT_DATE() }) } AS "WEEK()",
{ fn YEAR({ fn CURRENT_DATE() }) } AS "YEAR()",
{ fn TIMESTAMPADD(SECOND, 120, { fn CURRENT_TIMESTAMP() }) } AS "TIMESTAMPADD()",
{ fn TIMESTAMPDIFF(SECOND, { fn CURRENT_TIMESTAMP() }, { fn TIMESTAMPADD(SECOND, 120, { fn CURRENT_TIMESTAMP() }) }) } AS "TIMESTAMPDIFF()"
UPDATE dsptch30_contract_item SET unit_price = (SELECT unit_price FROM dsptch30_material WHERE dsptch30_material.row_id = material_row_id)
DELETE FROM "&table_name_item" WHERE parent_serial_number IN (SELECT serial_number FROM "&table_name" WHERE parent_serial_number = -1);
DELETE FROM "&table_name" WHERE parent_serial_number = -1
DELETE FROM dsptch30_material WHERE material_code NOT IN (SELECT DISTINCT material_code FORM "&table_name" WHERE material_code IS NOT NULL ORDER BY material_code)
CREATE ROLE jeffw with LOGIN PASSWORD 'm8w1z4';
GRANT ALL ON ALL TABLES IN SCHEMA PUBLIC TO jeffw;
UPDATE dsptch30_customer SET delivery_taxes_payable = NULL, material_taxes_payable = NULL;
UPDATE dsptch30_contract SET delivery_taxes_payable = NULL, material_taxes_payable = NULL;
UPDATE dsptch30_contract_item SET taxes_payable = NULL;
UPDATE dsptch30_material SET taxes_payable = NULL;
UPDATE dsptch30_haul_rate SET taxes_payable = NULL;
UPDATE dsptch30_zone SET taxes_payable = NULL;
--
-- This gets rid of all the rows that are created by triggers after Tickets have been imported.
--
DELETE FROM dsptch30_customer;
DELETE FROM dsptch30_material;
DELETE FROM dsptch30_vehicle_type;
DELETE FROM dsptch30_zone;
DELETE FROM dsptch30_truck;
--
DELETE FROM dsptch30_contract;
DELETE FROM dsptch30_contract_item;
DELETE FROM dsptch30_haul_rate;
DELETE FROM dsptch30_placed_at;
DELETE FROM dsptch30_station;
--
-- reset autoincrement values after doing and import
--
SELECT setval('dsptch30_carrier_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_carrier) + 1);
SELECT setval('dsptch30_company_info_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_company_info) + 1);
SELECT setval('dsptch30_destination_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_destination) + 1);
SELECT setval('dsptch30_measurement_unit_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_measurement_unit) + 1);
SELECT setval('dsptch30_source_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_source) + 1);
SELECT setval('dsptch30_tax_rate_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_tax_rate) + 1);
--
SELECT setval('dsptch30_ticket_number_printer_row_id_seq',(SELECT MAX(row_id) FROM dsptch30_ticket_number_printer) + 1);
--
SELECT setval('dsptch30_truck_row_id_seq',(SELECT MAX(row_id) FROM dsptch30_truck) + 1);
--
SELECT setval('dsptch30_material_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_material) + 1);
SELECT setval('dsptch30_vehicle_type_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_vehicle_type) + 1);
SELECT setval('dsptch30_zone_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_zone) + 1);
--
SELECT setval('dsptch30_customer_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_customer) + 1);
SELECT setval('dsptch30_contract_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_contract) + 1);
SELECT setval('dsptch30_contract_item_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_contract_item) + 1);
SELECT setval('dsptch30_haul_rate_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_haul_rate) + 1);
SELECT setval('dsptch30_placed_at_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_placed_at) + 1);
SELECT setval('dsptch30_station_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_station) + 1);
--
SELECT setval('shipment_ticket_serial_number_seq', (SELECT MAX(serial_number) FROM shipment_ticket) + 1);
SELECT setval('receipt_ticket_serial_number_seq', (SELECT MAX(serial_number) FROM receipt_ticket) + 1);
--
SELECT setval('dsptch30_ticket_cash_sale_row_id_seq', (SELECT MAX(row_id) FROM dsptch30_ticket_cash_sale) + 1);
--
UPDATE dsptch30_ticket_number SET next_ticket_number = (SELECT COALESCE(MAX(ticket_number) + 1, 1) FROM receipt_ticket) WHERE table_name = 'receipt_ticket';
UPDATE dsptch30_ticket_number SET next_ticket_number = (SELECT COALESCE(MAX(ticket_number) + 1, 1) FROM shipment_ticket) WHERE table_name = 'shipment_ticket';
UPDATE shipment_ticket
SET overload = (
SELECT iif( (ifnull(agw, 0) = 0 AND
ifnull(agw, 0) = 0), 0, iif(rgw > agw, agw, rgw) ) < gross
FROM dsptch30_truck t1
WHERE t1.truck_id = truck_id
)
WHERE truck_id IS NOT NULL;
UPDATE dsptch30_contract set description = regexp_replace(description, '\\r\\n', chr(10), 'g')
CAST(EXTRACT(EPOCH FROM "t1"."ticket_date") AS INTEGER)
SELECT
truck_id,
AVG(net),
-- clean up AVG so we don't get a resul like 16482.5
(CAST(AVG(net) AS INTEGER) + 5) / 10 * 10 "Average",
CAST(AVG(net) AS INTEGER) "Step 1: Average AS INTEGER",
CAST(AVG(net) AS INTEGER) + 5 "Step 2: + 5",
(CAST(AVG(net) AS INTEGER) + 5) / 10 "Step 3: / 10",
(CAST(AVG(net) AS INTEGER) + 5) / 10 * 10 "Step 4: * 10"
FROM "&table_name" t1
&where_clause
GROUP BY truck_id
ORDER BY truck_id
SELECT DISTINCT DistinctZone_.zone
FROM
(
SELECT DISTINCT "zone" FROM {IF ASA}"dba".{FI}{IF MSSQL}"dba".{FI}dsptch30_zone
UNION SELECT DISTINCT "zone" FROM {IF ASA}"dba".{FI}{IF MSSQL}"dba".{FI}dsptch30_haul_rate
) DistinctZone_
ORDER BY "zone"
UPDATE dsptch30_contract_item SET (unit_price, taxes_payable, additional_fee, minimum_charge) = (SELECT unit_price, taxes_payable, additional_fee, minimum_charge FROM dsptch30_material WHERE dsptch30_material.material_code = dsptch30_contract_item.item)
CREATE OR REPLACE FUNCTION set_next_ticket_number () RETURNS VOID
STRICT
LANGUAGE PLPGSQL
AS
$plpgsql$
DECLARE
_ticket_table RECORD;
BEGIN
FOR _ticket_table IN SELECT "table_name" FROM dsptch30_ticket_number
LOOP
EXECUTE format('UPDATE dsptch30_ticket_number SET next_ticket_number = (SELECT COALESCE(MAX(ticket_number) + 1, 1) FROM %I) WHERE table_name = $1', _ticket_table.table_name) USING _ticket_table.table_name;
END LOOP;
END;
$plpgsql$;