Как соответствовать/сравнивать значениям в двух наборах результатов в SQL Server 2008?

Одинарные кавычки вместо двойных?

, Где? Здесь? если (текст [я] == "")

текст [я] даю символ/байт, и это сравнивается с массивом (вероятно, unicoded??) символы/байты. Это не работает хорошо.

Скажите: сравните '1' с 1
или "1" с "один" или (2-1) с "eins", что Вы думаете, корректные ответы, или нет ли так или иначе никакой значимый ответ?

Помимо этого: программа не будет работать очень хорошо с одинарными кавычками или, учитывая пример "words.txt" =

одно слово или 2 слова или больше слов здесь?

6
задан 14 September 2009 в 14:17
поделиться

2 ответа

SELECT  *
FROM    Users u
WHERE   NOT EXISTS
        (
        SELECT  NULL
        FROM    ProjectSkill ps
        WHERE   ps.pk_project = @someid
                AND NOT EXISTS
                (
                SELECT  NULL
                FROM    UserSkills us
                WHERE   us.fk_user = u.id
                        AND us.fk_skill = ps.fk_skill
                )
        )
6
ответ дан 17 December 2019 в 02:31
поделиться
--  Assumes existance of variable @ProjectId, specifying
--  which project to analyze
SELECT us.UserId
 from UserSkills us
  inner join ProjectSkills ps
   on ps.SkillId = us.SkillId
    and ps.ProjectId = @ProjectId
 group by us.UserId
 having count(*) = (select count(*)
                     from ProjectSkills
                     where ProjectId = @ProjectId)

Вы бы хотели протестировать эту отладку, поскольку у меня нет тестовых данных для ее выполнения. То же самое и с индексированием для его оптимизации.

(Теперь, чтобы опубликовать и посмотреть, может ли кто-нибудь придумать лучший способ - должно быть что-то более тонкое и эффективное, чем это.)

0
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: