Tout d'abord, c'est ma première fois en train de poster une question ici. Si ma question est déjà posée et répondit, veuillez me fournir les liens vers cette question car même je ne sais pas comment demander correctement cela.
J'ai donc une table avec des enregistrements comme celui-ci. P>
ITEM_ID DATE_OUT OUT DATE_IN IN 1002 2019-01-24 1 2019-01-22 2 1003 - - 2019-02-03 35 1004 2019-01-23 4 2019-01-26 13 1007 2019-01-23 4 - -
5 Réponses :
Si la table est appelée DTA, alors ce serait:
CREATE TABLE `dta` ( `ID` int(11) DEFAULT NULL, `ITEM_ID` int(11) DEFAULT NULL, `DATE` date DEFAULT NULL, `OUT` int(11) DEFAULT NULL, `IN` int(11) DEFAULT NULL )
Tout d'abord, votre table a créé de mal, faites-la comme ceci Vous devez stocker les dates séparément afin que vous puissiez les sélectionner plus facilement et la requête de montrer ce que vous voulez est la suivante: p> Pour sélectionner la date à laquelle vous souhaitez à partir de votre table va comme suit: p> Ce sélection ci-dessus est Sur votre table spécifique avec vos 2 lignes spécifiques, veuillez créer la table comme je l'ai affiché au début de la réponse, qui facilitera votre vie (je vous ai donné le Select Aswell) P> P>
UPS, erreur honnête, vérifiez à nouveau s'il vous plaît
Je ne peux pas vraiment voir qu'il y a quelque chose de mal avec la conception de l'OP - ou, s'il y en a, je ne suis pas convaincu que c'était ça. Incidemment, le nombre entre parenthèses après INT, n'a presque pas de sens.
Vous pouvez essayer avec une jointure gauche
SELECT a.item_id, b.date AS date_out, b.out, a.date AS date_in, a.in FROM (SELECT item_id, date, in FROM your_table WHERE in IS NOT NULL) a INNER JOIN (SELECT item_id, date, out FROM your_table WHERE out IS NOT NULL) b ON b.item_id= a.item_id
Vous pouvez utiliser cette requête pour récupérer le résultat souhaité: voici le violon SQL P> Query SQL P> P>
Le champ date_in existe-t-il dans votre base de données?
@rawplutonium no. seul champ de date existe. J'espérais être si en quelque sorte détecter quand dans si null, alors ce serait datte_out alors si NULL, date_in. Si cela est encore possible.
Qu'est-ce que la dernière "2" dans le jeu de données représente? Et voir QHTTPS: //meta.stackoverflow.com/questions/333952/Why-Should- I-Feed-an-mcve-fo r-quoi-me semble-t-être-be-a- QL-SIMPLE-S QL
Dans ce cas, vous écririez une instruction comme suit:
Sélectionnez ID, item_Id, date comme code> date_out, out, out, out, dans le nom de la table ID = 1 code> Sauf si vous créez une nouvelle colonne I Ne pensez pas qu'il est possible de produire la date de courant dansdate_in code>@Strawberry Si le «2» que vous faites référence à 'in' est la quantité d'élément. Fondamentalement, il s'agit d'un stock de stock et de stock de la table.
Avez-vous essayé max ()?
@Sandeepsudhakaran, j'essaie de comprendre comment le rejoindre avant de mettre max ().
Que se passe-t-il s'il y a des stocks et stockez le même jour? En outre, je doute qu'un ensemble de données à double rang puisse être assez représentatif d'un problème - d'où mon commentaire précédent
@Strowberry alors ce serait la même chose que mon exemple de table que j'ai, avec la même date. Et il n'y aura qu'une transaction d'enregistrement à la fois. C'est soit dans ou dehors. Il n'est pas possible d'avoir dans le même record. Aussi je vais ajouter plus de données pour plus de clarification