次のようなテーブルがあります
id | package | env | key | value
int | varchar | varchar | varchar | varchar
これは構成を保存するためのものであるため、env が存在するデータベースに行が存在します。null
ただし、同じ行が (自動インクリメントとは異なる id で) 異なるenv
値で数回表示される可能性があります。
私がやりたいのは、すべての行where package = 'something'
とを取得することですenv is null
が、同じ行が存在する場合は、行の代わりにその行を返したいと思いpackage
ます。key
env = 'something_else
env is null
だから、このデータを考えると
1 | something | null | title | a default title
2 | something | testing | title | a testing title
3 | something | development | title | a development title
4 | something | null | byline | a default byline
5 | another | null | title | another default title
6 | another | testing | title | another testing title
packagesomething
と envを使用する場合、testing
返してほしい行は
2 | something | testing | title | a testing title
4 | something | null | byline | a default byline
2 つのクエリを実行することpackage = something
がenv is null
できpackage = something
ますenv = testing
。