-3
votes

Comment créer une requête pour extraire une valeur de ma table

J'ai une table Oracle et je veux extraire une valeur de la colonne, ma table xxx

Je veux créer une requête qui extrait le conteneur_id (valeur 356 ) SHIHERE Le document_NUMBER est 'CC330589' et l'état est 99 .

Dans mon cas, je veux la valeur 356 (pas le null valeur).

aucune idée de la façon dont je peux créer la requête? Merci d'avance.


5 commentaires

Il n'y a pas de rangée qui remplit vos besoins. La seule ligne avec l'état 99 a un conteneur null_id.


Oui, mais les deux lignes ont la même valeur de n ° numérique


Ajoutez quelques autres données de table, par exemple. un autre docide avec une rangée 40 une rangée et une valeur non nulle pour 99.


Voulez-vous obtenir conteneur_id avec le même document_number que l'enregistrement avec l'état = 99?


Oui je résous mon problème basé sur la réponse 1 merci à tous


3 Réponses :


1
votes

Vous pouvez essayer ci-dessous -

select * from tablename A
inner join
(select document_number, min(container_id ) from tablename  group by document_number)B
on A.document_number=B.document_number
where A.document_number='CC330589' and state=99


0 commentaires

1
votes

Vous pouvez utiliser FID toutes les valeurs non-NULLL pour le document donné et utiliser Exist code> pour vous assurer que l'état 99 existe pour le document donné:

SELECT *
FROM t
WHERE document_number = 'CC330589'
AND container_id IS NOT NULL
AND EXISTS (
    SELECT 1
    FROM t AS x
    WHERE document_number = t.document_number
    AND state = 99
)


0 commentaires

1
votes

Cela obtiendra le jeu de résultats que vous spécifiez à partir des données d'échantillonnage. Que ce soit la solution correcte dépend de vos règles d'entreprise que vous n'avez pas spécifiées: xxx

voici une autre solution xxx

à nouveau, ce sera Produire le résultat spécifié des données d'échantillonnage mais peut être incorrect contre votre ensemble de données réel.


0 commentaires