私はこのテーブル持っているWHEREからデータを取得します。users
contacts
とuser_providers
を、これは各1の構造である:Postgresqlの
私はすべてを取得したいですコンタクトテーブル内の特定のユーザーIDとuser_provider内のuser_provider provider_nameからの連絡先、私はこのクエリを持っています
SELECT c.id, c.contact_name,c.description,c.discharge,c.latitude,c.longitude,c.town,c.country,c.province,
(SELECT array_agg(DISTINCT cn.number) FROM contact_numbers cn WHERE cn.contact_id = c.id) AS numbers,
(SELECT array_agg(DISTINCT ce.email) FROM contact_emails ce WHERE ce.contact_id = c.id) AS emails
FROM
contacts c,
user_providers po
WHERE
c.user_id = 1 and po.provider_name = 'google'
ORDER BY
c.id;
しかし、イムは、それは次のように来てデータを取得しようとしたとき:
クエリdoesntのはPROVIDER_NAMEを尊重し、それだけで特定のユーザーIDに関連したすべての連絡先を返します。保存されたデータから
画像: contactsTable user_provider表
私は、任意の助けに感謝!
質問が不明です。最初の結果セットは、すべての行がフィルタ条件と一致するため、おそらく作成されます。 –
この投稿を再編集します! –
画像にある3行の 'provider_name'データを表示できますか? – tima