テーブルの DATETIME フィールドのエラーを修正するクエリを作成しようとしていますが、サブクエリは transactiondetails として NULL を返すことがあり、CreateDate フィールドには有効な値が必要です。
私の現在のクエリはこれです:
UPDATE transactionsheaders H SET CreateDate =
CONCAT(
DATE((SELECT CreateDate FROM transactionsdetails WHERE TransactionUID=H.UID GROUP BY TransactionUID)),
' ',
TIME(CreateDate))
WHERE UID>0;
の結果を使いたい
SELECT CreateDate FROM transactionsdetails WHERE TransactionUID=H.UID GROUP BY TransactionUID
NULLでない場合、それ以外の場合はDATE(CreateDate)。
この目的でIFを使用しようとしましたが、機能するものを書くのに問題があります...
もう 1 つ、transactiondetailsはTransactionUID (1 から多数) を介してtransactionsheadersを参照します。GROUP BYは1 つの結果のみを返すことが保証されていますか?