-1
votes

MySQL Affichage de la valeur en enregistrement unique de plusieurs lignes

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       -       -


9 commentaires

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 date_out , out, out, out, dans le nom de la table ID = 1 Sauf si vous créez une nouvelle colonne I Ne pensez pas qu'il est possible de produire la date de courant dans date_in


@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


5 Réponses :


0
votes

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
)


0 commentaires

0
votes

Tout d'abord, votre table a créé de mal, faites-la comme ceci xxx

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: xxx

Pour sélectionner la date à laquelle vous souhaitez à partir de votre table va comme suit: xxx

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)


2 commentaires

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.



0
votes

Vous pouvez essayer avec une jointure gauche xxx


0 commentaires

0
votes
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

0 commentaires

0
votes

Vous pouvez utiliser cette requête pour récupérer le résultat souhaité: xxx

voici le violon SQL

Query SQL


0 commentaires