2010-01-21 6 views
4
SELECT Name, 
     (NOT (ID_ListGroupParIzm 
       IN (SELECT ID_Param 
        FROM TbUserParam 
        WHERE ID_User=:ID_User 
       ) 
      ) 
     ) Visi 
    FROM CfgListParIzm 
WHERE ID_ListGroupParIzm=:ID_ListGroupParIzm 

Erreurs:SQL [requête dur - pour faire ou pour éviter]

Message 156, Level 15, State 1, Line 1 
Incorrect syntax near the keyword "NOT". 
Message 102, Level 15, State 1, Line 2 
Incorrect syntax near the construction ":". 

ajouté: Je vais essayer d'expliquer ce que je veux avec elle.

je besoin d'un nom d'une table et une valeur booléenne pour chaque wich nœud sera false si ID_ListGroupParIzm IN (SELECT ID_Param DE TbUserParam OÙ ID_User =: ID_User

Et ID_ListGroupParIzm (de CfgListParIzm) = ID_Param (de TbUserParam) oublie de dire :(

BTW: recherche comme select ne peut pas retourner la valeur Logics Comment obtenir mon but alors :(

ajouté un essai:...

SELECT Name, 
     COALESCE(
     (
     SELECT TOP 1 0 
     FROM TbUserParam 
     WHERE TbUserParam.ID_User = :ID_User 
       AND TbUserParam.ID_Param = CfgListParIzm.ID_ListParIzm 
     ), 1) Visi 
FROM CfgListParIzm 
WHERE CfgListParIzm.ID_ListGroupParIzm = :ID_ListGroupParIzm 

erreur: Message 102, niveau 15, état 1, ligne 6 Syntaxe incorrecte près de la construction ":".

Mais ... sûr> _ < J'ai besoin de le refaire comme une procédure, merci.

+0

Pourquoi avez-vous un NOT dans votre clause select? Qu'essayez-vous de faire? – Paddy

+0

ajouté à la première question :) désolé pour peu confus – Cynede

Répondre

3
SELECT Name, 
     COALESCE(
     (
     SELECT TOP 1 0 
     FROM TbUserParam 
     WHERE ID_User = :ID_User 
       AND ID_ListGroupParIzm = :ID_ListGroupParIzm 
     ), 1) Visi 
FROM CfgListParIzm 
WHERE ID_ListGroupParIzm = :ID_ListGroupParIzm 
+0

fonctionne! Merci beaucoup – Cynede

Questions connexes