0
主にカラム/データがJSONBタイプであるため、私は作成しようとしている複雑なPostgresクエリを持っています。私はAuth.status
がvalid
カラムタイプがJSONBのユニークなレコードを取得
UserId
あるすべてのレコード
- を取得する必要があります
は
Details.reference.card.number
で重複を除くと1
+-----------------------+---------------------------------------------+--------+
| Auth | Details | UserId |
+-----------------------+---------------------------------------------+--------+
| {"status": "valid"} | {"reference": {"card": {"number": "4444"}}} | 1 |
| {"status": "valid"} | {"reference": {"card": {"number": "3321"}}} | 1 |
| {"status": "valid"} | {"reference": {"card": {"number": "4444"}}} | 1 |
| {"status": "Invalid"} | {"reference": {"card": {"number": "3331"}}} | 1 |
| {"status": "valid"} | {"reference": {"card": {"number": "4444"}}} | 1 |
+-----------------------+---------------------------------------------+--------+
上記このクエリは返す必要があります:
+-----------------------+---------------------------------------------+--------+
| Auth | Details | UserId |
+-----------------------+---------------------------------------------+--------+
| {"status": "valid"} | {"reference": {"card": {"number": "4444"}}} | 1 |
| {"status": "valid"} | {"reference": {"card": {"number": "3321"}}} | 1 |
+-----------------------+---------------------------------------------+--------+
私は今のところが何をしています。
SELECT * FROM table
WHERE "Auth" @> '{"status": "valid"}'
AND "UserId" = 1