0

選択した列がグループ化方法と異なる SQL Server でクエリを実行しようとしています。このクエリは SAP で使用されます。

問題は、選択されているすべての同じ列でグループ化すると、何もグループ化されないことです。

これが私のクエリです(明らかに機能しません)。

SELECT 
   T0.[CardCode], T2.[SlpName] as 'Rep', 
   T0.[CardName] as 'Facility', 
   T1.[Address] as 'Attention', 
   T1.[Street] as 'Address 1', 
   T1.[Block] as 'Address 2', T1.[City] as 'City', 
   T1.[State] as 'State', 
   T1.[ZipCode] as 'Zip' 
FROM OCRD T0 
INNER JOIN CRD1 T1 ON T0.[CardCode] = T1.[CardCode] 
INNER JOIN OSLP T2 ON T2.[SlpCode] = T0.[SlpCode] 
WHERE T1.[State] = 'FL' 
GROUP BY T0.[CardCode]

フィードバックをいただければ幸いです。

ありがとう、

4

2 に答える 2

0

あなたはこのように試すことができます...

Select CardCode,Rep, 
    Facility, 
    Attention, 
    Address 1, 
    Address 2,City, 
    State, 
    Zip from  (SELECT Row_Number() Over(Partition By T0.[CardCode] order by T0.[CardCode]) as Row,
    T0.[CardCode], T2.[SlpName] as 'Rep', 
    T0.[CardName] as 'Facility', 
    T1.[Address] as 'Attention', 
    T1.[Street] as 'Address 1', 
    T1.[Block] as 'Address 2', T1.[City] as 'City', 
    T1.[State] as 'State', 
    T1.[ZipCode] as 'Zip' 
    FROM OCRD T0 
    INNER JOIN CRD1 T1 ON T0.[CardCode] = T1.[CardCode] 
    INNER JOIN OSLP T2 ON T2.[SlpCode] = T0.[SlpCode] 
    WHERE T1.[State] = 'FL' 
    ) a where row=1
于 2013-05-10T18:55:11.510 に答える
0

どの値が返されるか本当に気にしない場合。ここに例があります

SELECT 
   T0.[CardCode], 
   T2.[SlpName] as 'Rep', 
   T0.[CardName] as 'Facility', 
   T1.[Address] as 'Attention', 
   T1.[Street] as 'Address 1', 
   T1.[Block] as 'Address 2', T1.[City] as 'City', 
   T1.[State] as 'State', 
   T1.[ZipCode] as 'Zip' 
FROM OCRD T0 
CROSS APPLY (SELECT TOP 1 * FROM CRD1 TT1 ON T0.[CardCode] = TT1.[CardCode] AND TT1.[State] = 'FL') T1
CROSS APPLY (SELECT TOP 1 * FROM OSLP TT2 ON TT2.[SlpCode] = T0.[SlpCode]) T2
于 2013-05-13T17:51:08.133 に答える