我正在寻找帮助在MSSQL上为SuperOffice 7 for Windows编写SQL查询的帮助。 数据库架构图位于http://devnet.superoffice.com/Developer/Resource/?entryid=1659&catId=84>销售&营销数据库表
基本上我想提取任何有输入参数匹配的PHONE.phone的CONTACT的CATEGORY.name和CONTACT.name。
这是我最接近的,但它似乎只适用于数据库中的一部分电话号码,我很难理解为什么:
SELECT CONTACT.name AS contactname
, CATEGORY.name AS categoryname
, PHONE.phone
FROM CONTACT
INNER JOIN CATEGORY ON CONTACT.category_idx=CATEGORY.Category_id
INNER JOIN PHONE ON CONTACT.contact_id=PHONE.phone_id
WHERE PHONE.phone=[inputparameter goes here];
我意识到这种事情有一个COM API,但这个项目需要一个纯SQL查询。
答案 0 :(得分:0)
这应该这样做;
select
c.name as Contact,
cat.name as Category,
ph.phone
from crm7.contact c
left join crm7.category cat ON c.category_idx = cat.category_id
left join crm7.phone ph ON c.contact_id = ph.owner_id
where ph.ptype_idx < 1000
这将获得该公司的电话号码。请注意,您已将contact_id加入phone_id,这是错误的。您必须将其加入owner_id字段,并过滤ptype_idx。