私はSQLを初めて使用しており、次のクエリを書くのが難しいです。2つのテーブルから場所を選択
シナリオ
ユーザーには2つのアドレス、ホームアドレス(App\User
)と上場アドレス(App\Listing
)を持っています。訪問者が郊外または郵便番号または州のリストを検索したときに、ユーザーのリストアドレスが一致しない場合 - 自宅住所が一致する場合、検索結果にも表示されます。
たとえば、訪問者がMelbourne
を検索した場合、Melbourne
のリストと住所がMelbourne
のユーザーのリストを含めるとします。
予想される出力:
user_id first_name email suburb postcode state
1 Mathew [email protected] Melbourne 3000 VIC
2 Zammy [email protected] Melbourne 3000 VIC
テーブル
ユーザー:
id first_name email
1 Mathew [email protected]
2 Zammy [email protected]
3 Tammy [email protected]
4 Foo [email protected]
5 Bar [email protected]
リスト:
id user_id hourly_rate description
1 1 30 ABC
2 2 40 CBD
3 3 50 XYZ
4 4 49 EFG
5 5 10 Efd
アドレス:
id addressable_id addressable_type post_code suburb state latitude longitude
3584 1 App\\User 2155 Rouse Hill NSW -33.6918372 150.9007221
3585 2 App\\User 3000 Melbourne VIC -33.6918372 150.9007221
3586 3 App\\User 2000 Sydney NSW -33.883123 151.245969
3587 4 App\\User 2008 Chippendale NSW -33.8876392 151.2011224
3588 5 App\\User 2205 Wolli Creek NSW -33.935259 151.156301
3591 1 App\\Listing 3000 Melbourne VIC -37.773923 145.12385
3592 2 App\\Listing 2030 Vaucluse NSW -33.858935 151.2784079
3597 3 App\\Listing 4000 Brisbane QLD -27.4709331 153.0235024
3599 4 App\\Listing 2000 Sydney NSW -33.91741 151.231307
3608 5 App\\Listing 2155 Rouse Hill NSW -33.863464 151.271504
結合または共用体を使用できます。これが役立つかどうかを確認してください。http://www.techrepublic.com/article/sql-basics-query-multiple-tables/ – mtrueblood
希望の出力を投稿することもできますが、理解しやすくなります –