编写SuperOffice SQL查询

时间:2015-01-27 16:46:07

标签: sql sql-server

我正在寻找帮助在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查询。

1 个答案:

答案 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。