Podczas testów nie udało mi się zauważyć nieprawidłowego wpisu daty/czasu do bazy danych w przypadku niektórych zamówień. Zamiast wpisywać datę i godzinę, tylko wprowadzam datę. Użyłem poprawnego znacznika czasu createodbcdatetime(now())
, ale użyłem cfsqltype="cf_sql_date"
, aby wprowadzić go do bazy danych.Znajdź wiersze w bazie danych bez żadnego czasu w kolumnie datetime
Mam szczęście, że poprawnie zapisano datę/godzinę zamówienia, co oznacza, że mogę wykorzystać czas z pola daty/czasu zamówienia.
Moje pytanie może być filtrowane dla wszystkich wierszy w tabeli z wprowadzonymi datami. Moje dane poniżej;
Table Name: tbl_orders
uid_orders dte_order_stamp
2000 02/07/2012 03:02:52
2001 03/07/2012 01:24:21
2002 03/07/2012 08:34:00
Tabela Nazwa: CAN tbl_payments
uid_payment dte_pay_paydate uid_pay_orderid
1234 02/07/2012 03:02:52 2000
1235 03/07/2012 2001
1236 03/07/2012 2002
muszę być w stanie wybrać wszystkie płatności z żadnym momencie wszedł z tbl_payments, ja wtedy pętla wokół wyników pobierając czas z mojej tabeli zamówień dodaj go do daty z mojej tabeli płatności i zaktualizuj pole o nową datę/czas.
Potrafię w dużym stopniu obsłużyć ponowne włożenie daty/czasu. To tylko wybór wierszy bez czasu, o których nie jestem pewny?
Każda pomoc zostanie doceniona.
Poniżej znajduje się SELECT dla obu zleceń płatności i jeśli muszą być połączone. (Tylko FYI)
SQL Server 2008, Cold Fusion 9
SELECT
dbo.tbl_orders.uid_orders,
dbo.tbl_orders.dte_order_stamp,
dbo.tbl_payment.dte_pay_paydate,
dbo.tbl_payment.uid_pay_orderid
FROM
dbo.tbl_orders
INNER JOIN dbo.tbl_payment ON (dbo.tbl_orders.uid_orders = dbo.tbl_payment.uid_pay_orderid)
SELECT
dbo.tbl_orders.uid_orders,
dbo.tbl_orders.dte_order_stamp
FROM dbo.tbl_orders
SELECT
uid_paymentid,
uid_pay_orderid,
dte_pay_paydate,
FROM
dbo.tbl_payment
Czy mogę zapytać, dlaczego chciałbyś przechowywać te informacje w dwóch miejscach? Na pierwszy rzut oka sądzę, że podważyłbym strukturę danych. – mikeY
Witam mikeY Powodem tego jest sytuacja, w której klienci będą mogli płacić na koncie, a data/godzina płatności będzie rejestrować poszczególne płatności. Mam jednak szczęście, że klient jeszcze tego nie rozpoczął, dlatego zamówienia zostały rozliczone w tym samym czasie, kiedy zamawiam, dlatego mogę teraz pobrać czas zamówienia. W późniejszym terminie będą to prawie na pewno różne daty i godziny. –
OK. Widzę. Tylko dlatego, że daty rozliczenia w tbl_payments są teraz równe dacie zamówienia, nie oznacza to, że zawsze będzie. A klient x może potencjalnie mieć więcej niż jedną płatność w tbl_payments dla zamówienia nr 2001. Dziękuję za wyjaśnienie. Byłem tylko ciekawy. – mikeY