MySQL 具有空值的 where 子句
MySQL where clause with null values
我有这样的 sql 语句:
SELECT hovedenhet.organisasjonsnummer, adresse.adresse , poststed.poststed, land.navn, kontaktdata.epostadresse
FROM hovedenhet
LEFT JOIN adresse on hovedenhet.organisasjonsnummer = adresse.organisasjonsnummer
LEFT JOIN poststed on poststed.poststed_id=adresse.poststed_id
LEFT JOIN land on land.land_id = adresse.land_id
LEFT JOIN kontaktdata on kontaktdata.organisasjonsnummer = hovedenhet.organisasjonsnummer
#where (adresse.adresseType=1)
我想包含行,即使某些值为空并且这适用于此代码,但是当我取消注释 where 子句时它不再包含空列。我试过 where (adresse.adresseType = 1 or adresse =null) 但没有效果。有什么解决办法吗?
试试这个:
SELECT hovedenhet.organisasjonsnummer, adresse.adresse , poststed.poststed, land.navn, kontaktdata.epostadresse
FROM hovedenhet
LEFT JOIN adresse on hovedenhet.organisasjonsnummer = adresse.organisasjonsnummer
LEFT JOIN poststed on poststed.poststed_id=adresse.poststed_id
LEFT JOIN land on land.land_id = adresse.land_id
LEFT JOIN kontaktdata on kontaktdata.organisasjonsnummer = hovedenhet.organisasjonsnummer
where (adresse.adresseType = 1 or adresse.adresseType is null)
尝试使用
where (adresse.adresseType = 1 or adresse is null)
目前正在使用:
SELECT hovedenhet.organisasjonsnummer, adresse.adresse , poststed.poststed,
land.navn, kontaktdata.epostadresse
FROM hovedenhet
LEFT JOIN adresse on hovedenhet.organisasjonsnummer = adresse.organisasjonsnummer
AND adresse.adresseType=1
LEFT JOIN poststed on poststed.poststed_id=adresse.poststed_id
LEFT JOIN land on land.land_id = adresse.land_id
LEFT JOIN kontaktdata on kontaktdata.organisasjonsnummer = hovedenhet.organisasjonsnummer
感谢您的回答!
我有这样的 sql 语句:
SELECT hovedenhet.organisasjonsnummer, adresse.adresse , poststed.poststed, land.navn, kontaktdata.epostadresse
FROM hovedenhet
LEFT JOIN adresse on hovedenhet.organisasjonsnummer = adresse.organisasjonsnummer
LEFT JOIN poststed on poststed.poststed_id=adresse.poststed_id
LEFT JOIN land on land.land_id = adresse.land_id
LEFT JOIN kontaktdata on kontaktdata.organisasjonsnummer = hovedenhet.organisasjonsnummer
#where (adresse.adresseType=1)
我想包含行,即使某些值为空并且这适用于此代码,但是当我取消注释 where 子句时它不再包含空列。我试过 where (adresse.adresseType = 1 or adresse =null) 但没有效果。有什么解决办法吗?
试试这个:
SELECT hovedenhet.organisasjonsnummer, adresse.adresse , poststed.poststed, land.navn, kontaktdata.epostadresse
FROM hovedenhet
LEFT JOIN adresse on hovedenhet.organisasjonsnummer = adresse.organisasjonsnummer
LEFT JOIN poststed on poststed.poststed_id=adresse.poststed_id
LEFT JOIN land on land.land_id = adresse.land_id
LEFT JOIN kontaktdata on kontaktdata.organisasjonsnummer = hovedenhet.organisasjonsnummer
where (adresse.adresseType = 1 or adresse.adresseType is null)
尝试使用
where (adresse.adresseType = 1 or adresse is null)
目前正在使用:
SELECT hovedenhet.organisasjonsnummer, adresse.adresse , poststed.poststed,
land.navn, kontaktdata.epostadresse
FROM hovedenhet
LEFT JOIN adresse on hovedenhet.organisasjonsnummer = adresse.organisasjonsnummer
AND adresse.adresseType=1
LEFT JOIN poststed on poststed.poststed_id=adresse.poststed_id
LEFT JOIN land on land.land_id = adresse.land_id
LEFT JOIN kontaktdata on kontaktdata.organisasjonsnummer = hovedenhet.organisasjonsnummer
感谢您的回答!