Énoncé du problème:La formation d'une requête SQL pour comparer les résultats entre les lignes
sélectionner tous les noms de magasins, leur statut, les numéros de téléphone, date dont le numéro a été changé à partir de 2003 jusqu'à la date actuelle.
schéma est
store_name,phone number , start_date , status
rangées d'échantillons
abc 1234 30-DEC-2011 open
abc 3433 04-Jan-2012 close
bbb 4444 30-Jan-2010 open
bbb 4444 31-Jan-2011 open
de sortie
abc 1234 open 30-DEC-3011 till 3-Jan-2012
abc 3433 close 04-Jan-2012 till date
Je suis aussi très bien avoir deux lignes en sortie avec date de début triés comme
abc 1234 30-DEC-2011 open
abc 3433 04-Jan-2012 close
bbb
ne doit pas être signalé car il n'y avait pas de changement de numéro de téléphone. Nous ne devons indiquer que les magasins pour lesquels le numéro de téléphone a été modifié.
Quelqu'un peut-il m'aider avec cette requête sur Oracle? Je suppose qu'en utilisant des requêtes corrélées cela peut être fait mais je ne suis pas sûr comment je peux en construire un.
Veuillez noter que ma table a environ 3154953 enregistrements, donc je dois également m'assurer que la requête corrélée ne verrouille pas la table pendant tout le temps. Est-ce même possible avec Oracle?
Merci!
La réponse d'APC fonctionne pour moi juste que je vois beaucoup de répétitions dans mon résultat.
Pour l'entrée:
select store_name,phone_number,start_date, status where store_name=abc;
retours
STORE_name Phone number start_date STATUS
---------------- ---------------- ----------- ----------
abc 122 18-JAN-2011 open
abc 122 18-JAN-2011 open
abc 122 18-JAN-2011 close
l'exécution de votre requête me donne la sortie suivante.
abc 122 open from 18-JAN-2011 to 17-JAN-2011
abc 122 open from 18-JAN-2011 to 17-JAN-2011
abc 122 close from 18-JAN-2011 to date
Pouvez-vous expliquer pourquoi et où est le miss?
Est-ce que c'est pour MySQL ou Oracle? –
@ManseUK - vous avez supprimé la balise [mysql] et ignoré la référence à MySQL dans le titre. Assurez-vous que vos modifications ne fausseront pas les intentions du PO avant de commencer à éditer. – APC
@ APC excuses ... c'est 2 erreurs d'édition ive fait aujourd'hui .... tag ajouté dans ... bien que je ne sais vraiment pas pourquoi c'est dans le titre ou étiqueté? – ManseUK