SQL查询无法从数据库中检索数据。子查询返回了多个值

时间:2016-10-20 20:26:59

标签: sql sql-server

我遇到了问题:查询停止了工作。我有一条消息:

  

无法从数据库中检索数据。子查询返回了多个值。

这是代码

SELECT DISTINCT
    k.animal_i d,
    a.animal_type,
    a.animal_name,
    a.breed_group,
    k.kennel_no,
    a.extra1,
    (SELECT
         m.memo_text
     FROM
         SYSADM.animal AS a
     INNER JOIN 
         SYSADM.memo AS m ON a.animal_id = m.memo_id
     WHERE
        m.memo_id = k.animal_id
        AND m.memo_type = 'GROOMING') AS memo,
    (SELECT
         tr.visit_type
     FROM
         SYSADM.animal AS a
     INNER JOIN 
         SYSADM.treatment AS tr ON tr.animal_id = a.animal_id
     WHERE
         a.animal_id = k.animal_id
         AND tr.visit_type IN ('SURGERY', 'RTO SPAYNEUTER',
                               'SNAPP SPAYNEUTER', 'SPAYNEUT SURG')
         AND dateDiff(d, tr.treatment_date, getdate()) < 10) AS visitType,
    (SELECT
         tr.treatment_date
     FROM
         SYSADM.animal AS a
     INNER JOIN 
         SYSADM.treatment AS tr ON tr.animal_id = a.animal_id
     WHERE
         a.animal_id = k.animal_id
         AND tr.visit_type IN ('SURGERY', 'RTO SPAYNEUTER',
                               'SNAPP SPAYNEUTER', 'SPAYNEUT SURG')
         AND dateDiff(d, tr.treatment_date, getdate() ) < 10) AS treatmentDate
FROM
    SYSADM.kennel AS k
INNER JOIN 
    SYSADM.animal AS a ON k.animal_id = a.animal_id
FULL OUTER JOIN 
    SYSADM.memo AS m ON k.animal_id = m.memo_id
INNER JOIN 
    SYSADM.treatment AS tr ON tr.animal_id = a.animal_id
WHERE
    k.outcome_date_null = 'Y'
    AND a.extra1 IN ('BATHE', 'BATHE ASAP', 'BRUSH', 'GROOM')
    AND NOT EXISTS (SELECT *
                    FROM SYSADM.kennel
                    WHERE k.outcome_type IN ('RTO', 'TRANSFER')
                      AND NOT k.outcome_date_null = 'Y')

0 个答案:

没有答案