0
votes

Comment je peux rejoindre 2 questions à afficher dans 1 table

J'ai 2 questions, elles sont presque identiques, elles renvoient le même nombre de colonnes.

Je souhaite créer une procédure stockée pour obtenir une seule table basée sur 2 dates et 1 paramètre. < pré> xxx

chaque requête retourne xxx

autre requête xxx

je veux une seule table Comme ceci xxx

ou cette xxx

aide


1 commentaires

En supposant que les deux résultats ont des colonnes et des datates identiques, vous pouvez utiliser un syndicat tout. Par exemple, sélectionnez .... Union Tous Sélectionnez ....


4 Réponses :


0
votes

Bienvenue à vous! Vous pouvez le faire avec une déclaration syndicale, mais vous aurez besoin de toutes les colonnes pour être le même nom. Je suggère d'ajouter une colonne "Type" pour différencier: xxx


0 commentaires

1
votes

Les mettre avec l'Union puis les séparer avec une agrégation conditionnelle

select
  Datepart(minute, created_at) as minuto, 
  avg(case when type = 's' then n end) as salida_1,
  avg(case when type = 'e' then n end) as entrada_1
from
  (
    select 's' as type, created_at, id_linea, salida_1 as n from salida_a 
    union all
    select 'e' as type, created_at, id_linea, entrada_1 as n from entrada_a 
  )
where 
  created_at between '27/01/2020 04:00:00' and '27/01/2020 05:00:00' and 
  id_linea = 6 
group by
  datepart(minute, created_at)
order by minuto       


2 commentaires

Oh merci beaucoup, ça marche si bien: O mais j'ai un problème lorsque vous utilisez "Isnull ()" Les colums, sauf "Minuto" entrent en blanc, je veux dire sans nom de colonne, "salida_1" "entrada_1":


Vous devrez montrer des données de table qui le reproduit; Je ne peux pas bien comprendre ce que tu veux dire



1
votes

Une alternative à mon syndicat / AGG conditionnel, vous pouvez utiliser une jointure. Cela pourrait être plus facile à comprendre pour vous:

Prenez votre requête existante et tournez-les en CTE: P>

COALESCE(e.entrada_1, 0) 


0 commentaires

0
votes

Utilisez croix rejoindre xxx

Plus d'infos


0 commentaires