J'écris un foxpro sql & besoin de combiner trois colonnes de date de trois tables différentes dans une nouvelle colonne de date. A titre d'exemple, si les trois tables sont A, B, & C et que les colonnes de date sont Adate, Bdate et Cdate, comment les combiner en dates distinctes et séparées dans une colonne appelée TransDate et dans le SQL? J'apprécierais des échantillons du code si possible, car je suis très nouveau à ceComment combiner 3 colonnes de date à partir de 3 tables dans Foxpro sql?
Répondre
Nouvelle option de réponse ... à partir de ce que votre commentaire était d'avoir un achat, ou ajustement de stock ou de vente, et sans description claire ou un échantillon de la sortie que vous aimeriez voir, je pense que vous voulez quelque chose comme. ..
Tableau A = Achats Tableau B = Ajustements Tableau C = Ventes
Je ne suis pas sûr d'accord avec cette construction, mais ne peut impliquer de brèves descriptions. Je pense que vous voulez plus d'un « grand livre » résumé de style
Achat 10 janvier Achat 15 janvier Vente 2 février Réglage 10 février Achat 15 février etc ...
Ensuite, je ferais une UNION
select
"Purchase " as TransType,
T1.ADate as TransDate
from
YourTableA T1
where
T1.IDKey = ?SomeValueSuchAsAccount
order by
TransDate
UNION ALL
select
"Adjustments" as TransType,
T2.BDate as TransDate
from
YourTableB T2
where
T2.IDKey = ?SomeValueSuchAsAccount
UNION ALL
select
"Sales " as TransType,
T3.CDate as TransDate
from
YourTableB T3
where
T3.IDKey = ?SomeValueSuchAsAccount
Si je me trompe sur mes hypothèses, s'il vous plaît me fournir et d'autres un peu plus des échantillons de ces opérations, la mise en page de données, etc ... données en direct n'a pas besoin d'être nécessaire, ni faire table complète structures ou nom de la table réelle s. Cependant, nous avons besoin de plus de travailler avec, surtout si vous voulez de l'aide à l'avenir, sinon, les gens peuvent juste souffler par vos demandes. Pouvez-vous expliquer ce que vous entendez par «dates de combinaison»?
DRapp merci pour votre aide jusqu'à présent. Je voudrais montrer toutes les informations pour un produit donné sur la même ligne de date si possible. Si le produit est acheté le 1er janvier, ajusté le 1er janvier et vendu le 1er janvier, une ligne est affichée, alors que s'il est acheté le 1er janvier, ajusté le 2 janvier et vendu le 3 janvier, trois lignes seront affichées . J'espérais que ceci pourrait être réalisable en créant une nouvelle colonne dans laquelle les trois autres dates pourraient être combinées et utilisées pour trier les données dans la sortie des tables. –
Malheureusement, il n'y a aucune clé qui relie les différentes dates, ni l'une des informations d'achat à des informations d'ajustement ou de vente. La seule chose commune serait les dates des trois tables séparées. –
Alors vous êtes presque complètement hors de la chance. Il doit y avoir quelque chose entre les tables que vous pouvez relier les tables. Je suppose qu'il y a une sorte de produit ID (stock) entre les 3 tables. En outre, en ce qui concerne les stocks, il semble que votre tring à gérer une sorte de fonds communs de placement et non spécifique à un investisseur individuel. Vous avez besoin d'un terrain d'entente entre les tables. – DRapp
Oui, plus de clarification de date est nécessaire. Vous ne pouvez pas combiner 3 en 1 ... ou voulez-vous dire que vous voulez une ligne de résultat qui montre les 3 dates associées à une transaction donnée? Ou, vous voulez (par exemple) l'EARLIEST de 3 dates pour identifier quand la première date de transaction a commencé? Quoi qu'il en soit, veuillez préciser dans votre question, mais voici les options possibles pour vous sans connaître davantage les structures de votre table ... Aussi, si vous le faites directement à partir des tables de foxpro (VFP), vous devrez évidemment ajouter la ";" comme continuation de ligne aux énoncés suivants
select
T1.ADate,
T2.BDate,
T3.CDate,
iif(T1.ADate > T2.BDate and T1.ADate > T3.CDate, T1.ADate,
iif(T2.BDate > T1.ADate and T2.BDate > T3.CDate,
T2.BDate, T3.CDate)) as LargestDate,
iif(T1.ADate < T2.BDate and T1.ADate < T3.CDate, T1.ADate,
iif(T2.BDate < T1.ADate and T2.BDate < T3.CDate,
T2.BDate, T3.CDate)) as EarliestDate
from
YourTableA T1,
YourTableB T2,
YourTableC T3
where
T1.IDKey = T2.IDKey
AND T1.IDKey = T3.IDKey
into
cursor C_SomeTestResultCursor
Encore une fois, je ne sais pas ce que votre « clé » est ce serait commun entre vos trois tables, vous devrez donc évidemment régler la question sur ce que cet élément (s) est (sont).
Je souhaite afficher chaque type de transaction (achat, ajustement de stock ou vente) par rapport à sa date où toutes les dates individuelles des trois tables source distinctes sont combinées dans une seule colonne de date. Merci pour votre aide jusqu'à présent. Je vais essayer votre suggestion –
Pouvez-vous expliquer ce que vous entendez par combiner les dates? Si le tableau A indique Jan st, le tableau B indique le 2 février, le tableau C indique le 3 mars, que voudriez-vous dans votre tableau des résultats? - Andomar il y a 2 jours. En utilisant ce qui précède comme exemple, ce que je voudrais montrer est chacune des dates individuelles dans une colonne de date "combinée" ie Jan 1 Feb2 Mars 3 avec toutes les autres colonnes tirées des trois tables le long du côté la colonne de date "combinée".L'idée est de montrer les achats, les ajustements des stocks et les ventes d'une ligne de stock particulière par date de transaction –
En regardant comment le commentaire ci-dessus se lit, je peux voir que cela peut causer de la confusion: Je veux des lignes séparées pour chaque date dans la colonne . –
- 1. Comment combiner 3 requêtes SQL en 1?
- 2. SQL joindre 3 tables
- 3. requête SQL pour 3 tables
- 4. Compte SQL sur 3 tables
- 5. Recherche sur 3 tables
- 6. Rails 3 Renvoyer toutes les colonnes à partir d'une jointure
- 7. Combiner 3 séquences
- 8. PosgreSQL: Comment faire pour l'union 3 tables triées par date
- 9. SubSonic 3 - Récupérer des valeurs à partir de colonnes sales
- 10. Résumer des valeurs à partir de 3 tables
- 11. Mise à jour de SQL en joignant 3 tables
- 12. Combiner 3 datatables différentes en 1 et performance avec SQL
- 13. construire une hiérarchie à partir de 3 tables
- 14. 3 tables, 3 classes, aider à concevoir mes classes efficacement
- 15. moyenne Obtenir de 3 colonnes dans SQL Server
- 16. Comment combiner/fusionner des colonnes à partir de deux résultats de requête SQL?
- 17. ADO.NET Entity: obtenir des données à partir de 3 tables
- 18. Rails 3 Combiner deux variables
- 19. Joining 3 tables en 1 - SQL
- 20. Comment produire une liste de 3 colonnes?
- 21. T-SQL UNION Sur 3 tables?
- 22. Comment créer des tables dans sqlite 3?
- 23. mysql - combiner des colonnes et des tables
- 24. Hibernate: mappage 3 tables
- 25. REJOIGNEZ 3 tables
- 26. Insérer des données dans 3 tables liées
- 27. Rapport SQL à partir de 3 tables avec SUM des champs
- 28. SQL SELECT à partir de plusieurs tables
- 29. requête SQL à partir de 2 tables
- 30. 3+ lignes dans SQL
Si le tableau A indique Jan st, le tableau B indique le 2 février, le tableau C indique le 3 mars, que voudriez-vous dans votre tableau des résultats? – Andomar