나는이 답을 찾아 냈다. 두 개의 동일한 테이블, 연락처 및 contacts_copy가 있습니다. 각 회사에는 성명, 회사, 거리, 도시, 주 및 우편 번호가 있습니다. contacts.street가 NULL이 아니면 해당 항목을 선택합니다. 일치하는 경우 중복 테이블에서 해당 항목을 선택합니다.mySQL CASE giving Err 1064
SELECT contacts.fullname,
CASE WHEN contacts.street IS NULL
THEN
contacts_copy.Company,
contacts_copy.street,
contacts_copy.city,
contacts_copy.state,
contacts_copy.zip
ELSE
contacts.Company,
contacts.street,
contacts.city,
contacts.state,
contacts.zip
END CASE
FROM contacts_copy, contacts
WHERE contacts.Company = contacts_copy.fullname
AND contacts.kind = 'Person'
ORDER BY contacts.last DESC
I keep getting:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
contacts_copy.street,
contacts_copy.city,
contacts_copy.state,
contacts_cop' at line 4
더 쉬운 방법이 있어야합니다. MySQL 오류 메시지는별로 도움이되지 않습니다.
난 당신이 MySQL을 사용하여이 작업을 수행 할 수 있다고 생각하지 않습니다 감사합니다,
벤
닐, 거의 같습니다. 아이디어를 얻으려는 원래 테이블의 이미지가 있습니다. 거리, 도시, 주 및 우편 번호를 채워야합니다. 여기서 회사는 일치하는 데이터를 가진 kind = person입니다. http://versastudio.com/misc/contactsTbl.png이 두 레코드를 일치시킬 수 있다면 예를 들어 데이터를 채울 수 있습니다. 감사합니다! – 4midori
@ 4midori 나는 내 이미지를 이미지와 더 잘 맞도록 약간 편집했지만 도움이되지 않는다면 내 대답이 기대와 어긋나는 부분을 더 분명하게해야합니다. – Neil
데이터는 CRM의 연락처 내보내기입니다. 그들이 내게주는 데이터 문제는 kind = people의 연락처가 연관된 회사의 street/city/state/zip을 포함하지 않는다는 것입니다. 따라서이 예에서 루크 브린 들리는 친절한 사람이고 회사 필드에는 일치하는 회사 엔트리가 있기 때문에 회사의 거리/도시/주/지퍼를 채워야합니다. 즉, 종류 = 회사는 type = person 레코드를 채워야합니다. fullname 회사 도시 거리 도시 국가 우편 번호 Luke Brindley Jammin 'J ... 227 Maple ... Vienna VA 22180 – 4midori