"INSERT INTO `tableA`(
`log_id`,
`customer_id`,
`order_id`,
`message`,
`payment_method`,
`processed`,
`date_added`
)
SELECT
'null',
`customer_id`,
`order_id`,
'$data[11]',
'$data[6]',
'yes',
'$data[1]'
FROM
`tableB`,
`tableC`
WHERE
`customer_id` = '$data[8]' AND `order_id` = '$data[7]'";
在此查询中,如果$data[11]
为空或为空,我想为此插入$data[9]
。
默认值必须为$ data [11],并且仅当$ data [11]为null或为空时,我才想使用$ data [9]。
希望有SQL或PHP解决方案。
答案 0 :(得分:1)
使用NVL函数,如果第一个为NULL,它将返回默认值。在Oracle db中,它将如下所示:
SELECT
...
NVL('$data[11]', '$data[9]'),
在MySql中:
SELECT
...
IFNULL('$data[11]', '$data[9]'),