次のようなテーブルがあります
id | package | env | key | value
int | varchar | varchar | varchar | varchar
これは構成を保存するためのものであるため、env が存在するデータベースに行が存在します。null
ただし、同じ行が (自動インクリメントとは異なる id で) 異なるenv値で数回表示される可能性があります。
私がやりたいのは、すべての行where package = 'something'とを取得することですenv is nullが、同じ行が存在する場合は、行の代わりにその行を返したいと思いpackageます。keyenv = 'something_elseenv 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。