Привет! У меня возникают трудности при создании запроса, который ссылается на несколько таблиц. Я новичок в SQL, и объединения вводят меня в заблуждение. Я осмотрел Google, и после поиска я обнаружил Объединение таблиц в SQL , которое приблизило меня к тому месту, где я хочу быть! Созданный мной запрос не делает то, что я хочу. У меня есть две таблицы:
disp_profile
disp_id* name address zip
0001 Profile1 SomeAddress1 11111
0002 Profile2 SomeAddress2 22222
0003 Profile3 SomeAddress3 33333
zipcode
zip_code* state city county
11111 CA City1 County1
22222 WA City2 County2
33333 NV City3 County3
Я пытаюсь захватить город, штат, округ из почтового индекса, когда zipcode.zip = disp_profile.zip (отфильтрованный по переменной State). В идеале возвращать что-то вроде:
dispId dispName dispAddress dispZip zipState zipCounty zipCity zipCode
001 Profile1 SomeAddress1 11111 CA County1 City1 11111
or
002 Profile2 SomeAddress2 22222 WA County2 City2 22222
SELECT
dp.disp_id AS dispId, dp.name AS dispName, dp.address1 AS dispAddress1, dp.zip AS dispZip, zc.state AS zipState, zc.county AS zipCounty, zc.city AS zipCity, zc.zip_code AS zipCode
FROM
disp_profile dp
INNER JOIN
zipcodes zc
ON
dp.zip = zc.zip_code
WHERE
dp.state = 'CA'
Я знаю, что это может быть не лучшим способом для этого, но я подумал, что лучше хранить вещи отдельно от избыточной информации для каждого элемента. Набор данных в disp_profile - около 1000 записей, а zip_codes - около 30000. Будет ли это легче сделать с помощью подзапроса? Спасибо за ваше время!