joindre 2 tables à la casse, majuscules et minuscules
J'ai 2 tables et besoin pour obtenir le résultat sur le code de la marque.
Dans la base de données j'ai par exemple 2 marques différentes, mais leur code est le même (seule différence en minuscules et en majuscules). Par exemple:
Nom de code
ab Nike
AB Adidas
Comment inner join 2 tables sur le code pour obtenir ce 2 séparément?
Dès maintenant, après inner join-je obtenir la somme totale de ce 2.
SELECT Code, BrandName, Count(*) QTY, SUM(Price) TOTAL
FROM A
INNER JOIN B
ON A.Code=B.Code
GROUP BY Code, BrandName
Cette requête va me donner le mauvais résultat car il ne fait pas partie de sensibilité sur les majuscules et les minuscules.
S'il vous plaît aider 🙂
Vous devez définir ce moteur de base de données que vous utilisez.
MS SQL. Sql management studio
La définition de la base de données serait un bon début pour aider les gens à vous aider. Mais je suppose que c'est un travail de classement. La lire.
Microsoft Sql
MS SQL. Sql management studio
La définition de la base de données serait un bon début pour aider les gens à vous aider. Mais je suppose que c'est un travail de classement. La lire.
Microsoft Sql
OriginalL'auteur vovkjn | 2015-04-09
Vous devez vous connecter pour publier un commentaire.
Il y a au moins deux façons rapides vous pouvez résoudre ce problème.
1. Vous spécifiez un classement sensible à la casse (règles pour la comparaison de chaînes à travers des personnages dans un jeu de caractères) pour A. Code et B. Code. Dans MySQL et quelques autres systèmes de gestion de base de données, le classement par défaut est insensible à la casse.
Qui est, en supposant que vous utilisez MySQL ou similaire, vous devrez modifier votre déclaration en tant que tel:
Toutefois, si vous prévoyez de ne la faire que la casse des requêtes sur A et B, il peut être dans votre intérêt de définir le classement par défaut sur les deux tableaux à la casse.
Veuillez voir Comment puis-je faire SQL sensibles à la casse de la chaîne de comparaison sur MySQL?
2. Cast A. Code et B. Code pour une chaîne binaire et de comparer les deux. C'est une façon simple de comparer deux chaînes de caractères, octet par octet, donc la réalisation de l'insensibilité à la casse.
OriginalL'auteur tetrisd
Puisque vous utilisez un classement est insensible à la casse et veulent se différencier sur le cas, essayez d'utiliser le
collate
mot-clé, avec un classement sensible à la casse:Je ne suis pas sûr si vous devez spécifier le classement sur les deux côtés de la jointure - il peut être suffisant avec
ON A.Code = B.Code COLLATE Latin1_General_CS_AS_KS_WS
Je vais le tester. Mais aussi loin que je l'exécute il a parfaitement fonctionné
Il a travaillé aussi comme tu dit uniquement sur le côté droit
Cool, bon à savoir - je n'ai pas utilisé rassembler beaucoup avant.
OriginalL'auteur jpw