Ich bin ziemlich neu bei SQL! Ich habe zwei Querys aus verschiedenen Tabellen. Dies ist meine erste Abfrage:SQL: Merge zwei verschiedene Abfrage
SELECT cli.CLIENTE as clientet,cli.RAZON as nom,
SUM(distinct par.[RECAPTACIO]*0.9) AS recaudacionSINIVA,
SUM(distinct par.canvi) as cambiocargado,
SUM(distinct par.consum) as CC_recaptacio,count(distinct par.DATA) as visita,
SUM((c.quantitat + c.caixes * c.uxcaja) * c.pvp) as CC_Caducados
FROM [V30].[dbo].[parmaq] as par,[V30].[dbo].[clientes] as cli , V30.dbo.parcons as c
where cli.CLIENTE=par.EMPRESA and par.enllas=c.enllas
and par.data > '13-11-2015' and par.data < '20-11-2015'
group by cli.CLIENTE,cli.RAZON
Dies ist meine zweite Abfrage:
SELECT cli.cliente as clientet, cli.RAZON, SUM(distinct m1.IMPORTE) as FACTURACION,
SUM(distinct m2.coste * m2.canti) as CC_facturacio
FROM [V30].[dbo].[clientes] as cli, [V30].[dbo].[MESTA1] as m1,V30.dbo.MESTA2 as m2
where m2.albaran=m1.albaran and m1.CLIENTE=cli.CLIENTE
and m1.FECHA > '13-11-2015' and m1.FECHA < '30-11-2015'
group by cli.CLIENTE,cli.razon order by cli.cliente
Und das Ergebnis der zweiten Abfrage:
Auf dem SQL gibt es keine Möglichkeit, die Tabellen mit Prim zu verknüpfen Schlüssel! und die Ergebnisse aus den Fragen eins und zwei sind in Ordnung. Was ich tun möchte, ist die Kombination der Ergebnisse mit der Spalte "clientet". Ich muss sagen, dass Sie eine unterschiedliche Anzahl von Zeilen erhalten können.
Ziel ist es, alle diese Informationen auf das gleiche Ergebnis zu haben. Wenn zum Beispiel "clientet" Ergebnisse für beide Querys enthält, sollte das Endergebnis alle Spalten aus der ersten Abfrage + "FACTURACION" und "CC_facturacio" aus der zweiten Abfrage sein.
Hoffe, du kannst mir helfen, ich habe Inner Joins und Unterfragen versucht, aber es gibt keine Möglichkeit, das zu bekommen.
UNION ALL? (Einige NULL-Spalten in der zweiten Abfrage benötigt.) – jarlh
Wird es als Ergebnis beider Abfragen denselben Client (dieselbe ID) geben? Ist es beispielsweise möglich, dass in den Ergebnissen beider Abfragen ein Client mit clientit 101500 erscheint? –
** Randnotiz: ** Beenden Sie die Verwendung von Joins im alten Stil. Explizite Joins sind seit über 20 Jahren Teil von ANSI-SQL. –