Sql 子查询返回了多个值。不允许=,!=<<;=>&燃气轮机=

Sql 子查询返回了多个值。不允许=,!=<<;=>&燃气轮机=,sql,Sql,代替equal,我在中使用了,ALL和Exists,但它们不受支持。如何删除此错误?我认为这可能更符合您的要求。它使用更新自: UPDATE #temp SET duty_count = (SELECT Count(*) FROM duty_trak WHERE driver_id = #temp.driver_id) UPDATE #temp SET vehicle_id = (S

代替equal,我在中使用了,ALL和Exists,但它们不受支持。如何删除此错误?

我认为这可能更符合您的要求。它使用更新自:

UPDATE #temp 
SET    duty_count = (SELECT Count(*) 
                     FROM   duty_trak 
                     WHERE  driver_id = #temp.driver_id) 

UPDATE #temp 
SET    vehicle_id = (SELECT vehicle_id 
                     FROM   duty_trak 
                     WHERE  driver_id = #temp.driver_id) 

您想只使用一个值更新tmp表吗?我想您只能使用一个值更新一行,因此,只需在select语句中使用“Top 1”…

谢谢,它可以工作,但出现错误无效驾驶员-车辆组合哪个语句导致错误,错误消息是什么?
UPDATE tmp
SET
    tmp.Duty_Count = dutr.Duty_Count
FROM
    #Temp tmp
JOIN
    (
    SELECT
        Driver_ID,
        COUNT(*) AS Duty_Count
    FROM
        Duty_Trak
    GROUP BY
        Driver_ID
    ) dutr
    ON (tmp.Driver_ID = dutr.Driver_ID)


UPDATE tmp
SET
    tmp.VEHICLE_ID = dutr.VEHICLE_ID
FROM
    #Temp tmp
JOIN
    Duty_Trak dutr
    ON (tmp.Driver_ID = dutr.Driver_ID)