나는 이것을하려고하지만 그것을 허용하지 않을 것입니다.GROUP BY 특정 열없이
내 표 (MSSQL)는 :
당신이 볼 수있는 것+----------+--------+---------------------+----------+-------+------------+ | parentid | okeyno | okeyname | okeydata | recid | okeydouble | +----------+--------+---------------------+----------+-------+------------+ | 1357 | 1 | WINZERKE01_TESTFELD | 123 | 1486 | 0 | | 1360 | 1 | WINZERKE01_TESTFELD | 456 | 1488 | 0 | | 1362 | 1 | WINZERKE01_TESTFELD | 789 | 1492 | 0 | | 1361 | 1 | WINZERKE01_TESTFELD | 789 | 1490 | 0 | | 1358 | 1 | WINZERKE01_TESTFELD | 123 | 1484 | 0 | | 1377 | 1 | WINZERKE01_TESTFELD | 999 | 1485 | 0 | +----------+--------+---------------------+----------+-------+------------+
, 같은 okeyname 여러 져야 할 엔트리가 있다는 것입니다. 이제 dublicate okeydata가없는 행의 상위 항목 만 원합니다.
이 경우 결과는 "1360"및 "1377"이어야합니다.
SELECT parentid FROM objkeys WHERE okeyname = 'WINZERKE01_TESTFELD' GROUP BY okeydata HAVING COUNT(okeydata) = 1
를하지만 항상 내가 GROUP BY에 parentid 포함 것을 원한다 :
지금이 내가 일을하려고 한 것입니다. 하지만 나는 이것을 원하지 않는다. 어떻게 그 문제를 해결할 수 있습니까?
감사합니다.
당신은 당신 만 parentid, 1360 싶은 말은, 왜 당신은 모든 컬럼 (*)를 선택합니까? – jarlh