J'essaie de sélectionner des données de deux tables et de les insérer dans une autre. Je veux sélectionner les données lorsque certaines choses correspondent dans chaque tableau. Le problème est que l'une des comparaisons doit être semblable et je suis à court de ressources. La déclaration SQL est ci-dessous et je crois que cela va au moins montrer ce que j'essaie de faire. J'ai essayé d'utiliser des procédures mais je ne peux pas comprendre cela ou même dire si cela aiderait.MySql Recherche de deux tables et comparaison de colonnes avec like et%
Répondre
Tout d'abord, assurez-vous que le SELECT retourne ce que vous voulez avant de tenter l'insertion. Ceci:
SELECT DISTINCT
u.user_id,
t.num
FROM temp t, users u
WHERE t.name like '%' + u.l_name + '%'
... utilise la syntaxe ANSI-89 JOIN. La syntaxe de jointure ANSI-92 est un meilleur choix:
SELECT DISTINCT
u.user_id,
t.num
FROM USERS u
JOIN TEMP t ON t.name LIKE CONCAT('%', u.l_name ,'%')
... mais le critère de jointure semble défectueux. Il va lier des lignes où le nom de famille apparaît dans la valeur t.name
, conduisant au problème de Smith: Si le nom de famille est "Smith", toutes les lignes seront reliées - même si les noms sont John, Jim, etc
Un mot d'avertissement, 'LIKE CONCAT ('%', u.l_name, '%')' donnera des résultats inattendus si 'u.l_name' contient des caractères spéciaux tels que'% 'ou' _' – Martin
Essayez ceci:
INSERT INTO hr_numbers(`user_id`, `hr_number`)
SELECT DISTINCT U.user_id, T.num
FROM temp T
INNER JOIN users U ON T.NAME LIKE '%' + U.l_name + '%'
- 1. Comparaison lignes de deux tables et le résultat et ouputting
- 2. Comparaison de données entre deux tables MySQL avec PHP
- 3. MySQL: JOIN deux tables sur LIKE
- 4. Une requête de requête MYSQL de deux tables et deux colonnes
- 5. MySQL recherche un texte de deux colonnes
- 6. Recherche deux tables
- 7. php mysql recherche dans 2 colonnes dans 2 tables
- 8. mysql - combiner des colonnes et des tables
- 9. Recherche PHP et MySQL sur plusieurs colonnes
- 10. MySQL suppression de plusieurs colonnes de deux tables
- 11. Comparer deux tables et trouver des colonnes correspondantes
- 12. deux dates Comparaison mysql
- 13. Recherche de plusieurs tables avec MySQL
- 14. joignant toutes les colonnes de deux tables dans mysql conditionnellement
- 15. combinant et joignant deux tables avec différents no. des colonnes et même nom de colonne
- 16. Comparaison de deux tables de base de données
- 17. MySQL Sélectionnez avec LIKE et OERE
- 18. Deux colonnes Mysql avec contrainte d'unicité entre colonne1 et colonne2
- 19. la recherche de plusieurs colonnes MySQL et PHP
- 20. Association de deux tables avec un nombre différent de colonnes
- 21. MySQL joindre deux tables et ajouter des valeurs de colonne
- 22. Mysql JOIN de quatre tables avec deux tables clés
- 23. MySQL: SELECT Like et char_length
- 24. Powershell - Recherche et comparaison de tableaux avec les CMDlets Quest
- 25. requêtes MySQL et recherche de texte
- 26. Infinity, ActiveRecord et MySQL: stockage et comparaison
- 27. Sélectionner les données de deux tables avec des colonnes identiques
- 28. Grande comparaison - MySQL et PHP
- 29. LINQ et une sélection avec deux tables
- 30. correspondants deux colonnes MySQL
Cela ressemble à un début raisonnable. Nous aurons besoin d'autres exemples de données sur lesquelles vous travaillez, de ce que vous attendez et de ce que vous obtenez réellement, afin de pouvoir vous aider. –