我希望用另一行中的值更新一行中的任何NULL值,这些值通过另一个表链接。这个想法是更新初始值以获取其他任何额外的信息。我已经建立了这个环境来展示我想要发生的事情。
test_data:
id value
------------
1 null
2 null
3 TEST
test_alt:
id1 id2
------------
1 2
1 3
这是我使用失败的查询:
UPDATE test_data AS A
INNER JOIN test_alt ON A.id=test_alt.id1
INNER JOIN test_data AS B ON test_alt.id2=B.id
SET A.value = IF(A.value IS NULL, B.value, A.value);
想要的test_data结果:
id value
------------
1 TEST
2 null
3 TEST
查询后的结果:
id value
------------
1 null
2 null
3 TEST
最初应该提到的是:我需要获取任何非null值(与哪个无关紧要),因此已经找到答案。
答案 0 :(得分:1)
如果您真的不在乎选择哪个非null值,则可以加入并限制例如
preg_replace('/<span[^>]+\>|<\/span>/i', '', $string_with_span_tag) //1. my answer
preg_replace('#</?span[^>]*>#is', '', $string_with_span_tag) //2.@Zdimitriv's answer
preg_replace('/<span[^>]+?[^>]+>|<\/span>/i', '', $string_with_span_tag) //3.@mcklayin's answer with edit
答案 1 :(得分:0)
也许是这样吗?
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.yube.fasturl"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-
android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:design:27.1.0'
implementation 'com.github.florent37:materialtextfield:1.0.7'
implementation 'com.android.support.constraint:constraint-
layout:1.0.2'
//noinspection GradleCompatible
implementation 'com.google.android.gms:play-services-ads:15.0.0'
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:recyclerview-v7:22.2.0'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:mediarouter-v7:27.1.0'
}