Lorsque j'ai deux colonnes avec le même nom dans deux tables différentes mais avec des types de données différents. Puis-je joindre ces deux tables?Joindre des conditions pour deux tables?
Répondre
Oui, vous pouvez.
Si vous avez:
TABLE_A
A_ID NUMBER
DEPT NUMBER
et
TABLE_B
B_ID NUMBER
DEPT VARCHAR2
Si vous étiez sûr que les valeurs étaient TABLE_B.DEPT numérique mais stockées dans une chaîne que vous pourriez alors:
SELECT *
FROM TABLE_A
JOIN TABLE_B
ON (TABLE_A.DEPT = TO_NUMBER(TABLE_B.DEPT));
ou même
SELECT *
FROM TABLE_A
JOIN TABLE_B
ON (TO_CHAR(TABLE_A.DEPT) = TABLE_B.DEPT);
L'utilisation d'une fonction sur l'une des colonnes de la table annulera l'utilisation de toute idéx que cette colonne a pu contenir, auquel cas vous pouvez envisager un function-based index si la jointure est très importante et que les tables sont grand. FWIW, les noms de colonne ne doivent pas nécessairement être identiques, les noms sont irrelevent, ce sont les données qui comptent et si elles peuvent être manipulées dans un format qui peut être comparé aux colonnes dont vous avez besoin. .
Espérons que cela aide ...
Oui, vous pouvez joindre les tables. Mais si vous voulez adresser la colonne avec le même nom, vous devez spécifier le nom de la table avant le nom de la colonne.
TABLE1 has columns A number, B number
TABLE2 has columns A number, B varchar2(10)
Puis vous adresser les colonnes comme TABLE1.B ou TABLE2.B. Exemple
SELECT TABLE1.A, TABLE1.B, TABLE2.B
FROM TABLE1, TABLE2
WHERE TABLE1.A = TABLE2.A
AND TABLE1.B > 10
AND TABLE2.B = 'FOO'
Si les noms de tables sont très longues cela peut devenir compliqué de sorte que vous pouvez définir un équivalent pour chaque table comme celui-ci
SELECT x.A, x.B, y.B
FROM TABLE1 x, TABLE2 y
WHERE x.A = y.A
AND x.B > 10
AND y.B = 'FOO'
- 1. Joindre deux tables MySQL avec des conditions
- 2. SQL pour joindre deux tables avec des conditions d'affaires
- 3. Comment joindre correctement deux tables mysql avec des conditions?
- 4. Joindre trois tables sql avec des conditions
- 5. Requête pour joindre deux tables
- 6. Aide pour joindre deux tables
- 7. Ruche Query- Joindre deux tables sur trois se joindre à des conditions avec l'opérateur OR
- 8. Comment joindre plusieurs conditions sur plusieurs tables
- 9. joindre deux tables différentes?
- 10. Comment joindre aux tables sous certaines conditions
- 11. SQL - Joindre deux tables
- 12. Joindre des tables multiples conditions - comparer des dates - Linq
- 13. Joindre deux tables excel
- 14. joindre deux tables MySQL
- 15. Joindre deux tables MySQL
- 16. SQL Joindre deux tables
- 17. MySQL - joindre deux tables
- 18. sql, joindre deux tables
- 19. joindre deux tables
- 20. Comment joindre deux tables?
- 21. mysql joindre deux tables
- 22. Conditions SQL ET/OU pour deux tables
- 23. Insérer dans deux tables avec des conditions
- 24. Sélectionnez une requête pour joindre deux tables?
- 25. Joindre deux tables et obtenir des valeurs
- 26. requête SQL pour joindre deux tables
- 27. Sélection des tables avec deux conditions
- 28. Linq aux entités pour joindre deux tables
- 29. requête SQL pour joindre deux tables aider
- 30. Joindre deux tables sur Eloquent
Donnez des exemples de la structure de votre table, et quels sont les éléments qu'ils ont en commun, – BugFinder