Попробуйте это, чтобы предотвратить кнопку backspace в IE, которая по умолчанию действует как «Назад»:
<script language="JavaScript">
$(document).ready(function() {
$(document).unbind('keydown').bind('keydown', function (event) {
var doPrevent = false;
if (event.keyCode === 8 ) {
var d = event.srcElement || event.target;
if ((d.tagName.toUpperCase() === 'INPUT' &&
(
d.type.toUpperCase() === 'TEXT' ||
d.type.toUpperCase() === 'PASSWORD' ||
d.type.toUpperCase() === 'FILE' ||
d.type.toUpperCase() === 'EMAIL' ||
d.type.toUpperCase() === 'SEARCH' ||
d.type.toUpperCase() === 'DATE' )
) ||
d.tagName.toUpperCase() === 'TEXTAREA') {
doPrevent = d.readOnly || d.disabled;
}
else {
doPrevent = true;
}
}
if (doPrevent) {
event.preventDefault();
}
try {
document.addEventListener('keydown', function (e) {
if ((e.keyCode === 13)){
// alert('Enter keydown');
e.stopPropagation();
e.preventDefault();
}
}, true);
} catch (err) {}
});
});
</script>
Вы можете просто сделать:
SELECT P.LegacyKey, MAX(D.DesignNumber) as DesignNumber
FROM tbl1 AS [SO]
GROUP BY P.LegacyKey
HAVING COUNT(DISTINCT D.DesignNumber) = 1;
ORDER BY LegacyKey;
Никаких подзапросов не требуется.
Вам нужно что-то вроде этого:
select t2.LegacyKey, t2.DesignNumber
from
(
select t.LegacyKey
from tbl1 t
group by t.LegacyKey
having count(t.LegacyKey ) = 1
)x
join tbl1 t2 on x.LegacyKey = t2.LegacyKey
или
select t2.LegacyKey, t2.DesignNumber
from tbl1 t2
where t2.LegacyKey in
(
select t.LegacyKey
from tbl1 t
group by t.LegacyKey
having count(t.LegacyKey ) = 1
)
Вы можете попробовать это
Примечание: это не проверено
SELECT *
FROM (
SELECT
P.LegacyKey AS LegacyKey,
D.DesignNumber AS DesignNumber,
COUNT([P].[LegacyKey]) AS cnt
FROM tbl1 AS [SO]
GROUP BY D.DesignNumber,P.LegacyKey
HAVING COUNT([P].[LegacyKey]) = 1
) a
WHERE COUNT() OVER (PARTITION BY LegacyKey) = 1