2017-08-23 1 views
-1

Quelqu'un peut-il aider? J'ai une requête existante ci-dessous (SQL Server) qui est en cours d'exécution et tire des milliers de lignes. Cependant, je dois sélectionner un nombre spécifique de lignes pour quelques valeurs de champs différentes dans une colonne de la table 'vw_client_uli_member_type'. Où et comment est-ce que je pose ce problème? Je vous remercie.nombre différent de lignes pour quelques champs différents dans une colonne

select ind_int_code as 'Individual Type', 
ind_first_name as 'First Name', 
ind_last_name as 'Last Name', 
cst_recno as 'Member ID', 
cst_eml_address_dn as 'Email Address', 
adr_city as 'City', 
adr_state as 'State' , 
adr_country as 'Country', 
cst_org_name_dn as 'Company', 
cst_ixo_title_dn as 'Job Title', 
mem_member_type as 'Member Type' 
FROM 
co_individual WITH (NOLOCK) 
JOIN co_individual_ext WITH (NOLOCK) ON ind_cst_key_ext=ind_cst_key 
JOIN co_customer WITH (NOLOCK) ON cst_key=ind_cst_key and ind_delete_flag=0 
and ind_deceased_flag=0 
LEFT JOIN co_customer_x_address WITH (NOLOCK) ON cst_cxa_key=cxa_key 
LEFT JOIN co_address WITH (NOLOCK) ON adr_key=cxa_adr_key 
LEFT JOIN vw_client_uli_member_type WITH (NOLOCK) ON cst_key=mem_cst_key 
WHERE mem_member_type Is Not Null AND mem_expire_date >= '8/22/2017' AND adr_country = N'UNITED STATES' AND ind_deceased_flag != 1 AND ind_key_leader_flag_ext != 1 AND ind_int_code != N'Staff' AND ind_int_code != N'Spouse' AND ind_int_code != N'Press' 
+0

Vous pouvez utiliser 'SELECT TOP 100 ...' si vous devez limiter le nombre de résultats – ssn

+0

Que signifie "un nombre spécifique de lignes pour quelques valeurs de champ différentes"? Vous avez besoin de 7 lignes où la valeur de la colonne est "Woozy", mais 13 lignes où il est "Drunk"? Ou jusqu'à 15 lignes qui ont des valeurs différentes ("distinctes") pour la colonne? S'il vous plaît lire [this] (http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/) pour quelques conseils sur l'amélioration de votre question. Une requête simplifiée et des exemples de données avec les résultats souhaités nous aideraient à vous aider. Et, bien sûr, montrez-nous ce que vous avez essayé. – HABO

Répondre

0

Si vous devez limiter le nombre de lignes, il suffit d'ajouter à la fin de la requête:

LIMIT number_rows 

si vous utilisez MySQL, ou

SELECT TOP number_rows 

si vous utilisez SQL Server.

Voir plus here.

+0

Ce n'est pas ce que je cherche. J'ai la requête existante ci-dessus qui tire 30 000 lignes. À partir de ce pool de données, j'ai besoin de tirer quelques champs spécifiques (types de membre A, B, C, D) dans une colonne et avec le nombre de lignes associé sur 8000 lignes. A 40% rangées sur 8 000, B 20% rangées sur 8 000, C 15% rangées sur 8 000, D 5% sur 8 000 rangées. Est-ce que ça fait du sens? Je n'ai jamais fait cela auparavant ... – klima

+0

Je cours Microsoft SQL Server Standard (64bit) – klima