私は2つのテーブルを持っています:
Employee(empNo, lName, fName, sex, dob, address, deptno, position)
Zip(city, state, zipcode)
Employee テーブルでは、住所は次のように格納されます。55 Maple Ln., AL 55555
はい、これがアドレスを保存する最も恐ろしい方法であることはわかっていますが、これは私の手に負えません。
empNo、lName、fName、住所の番地部分、州部分、都市、郵便番号をクエリで返す必要があります。これは私が使用しているものであり、適切に動作させるのに少し苦労しています:
SELECT empNo, lName, fName,
substr(Address,0, INSTR(Address,',')-1) AS streetAddr,
city,
substr(Address, INSTR(Address,',')+2,2) AS stateAddr,
substr(Address,-5) AS zipC
FROM Employee
JOIN Zip z ON z.zipcode = zipC
WHERE deptNo = '124';
私が得ているエラーはJOINステートメントにあります。zipC は無効な識別子です。私の問題は、テーブルの郵便番号部分を介して従業員と郵便番号を結合しようとしていることです。これを行う必要があるのは、郵便番号から都市を取得できるようにするためだけです。
編集#1
私もこれを試しました:
SELECT e.empNo, e.lName, e.fName,
substr(e.Address,0, INSTR(e.Address,',')-1) AS streetAddr,
z.city,
substr(e.Address, INSTR(e.Address,',')+2,2) AS stateAddr,
substr(e.Address,-5) AS zipC
FROM Employee e, Zip z
WHERE deptNo = '124';