Wie bringe ich diese 2 SQL Statements zusammen?
Hi there!
Bin noch ein wenig SQL-frischling, und wahrscheinlich hab ich mich da in was verrannt und es ist eigentlich ganz einfach..
Ich möchte diese zwei Abfragen, beide haben die gleichen Felder, in eine Tabelle "zusammenkopieren", sollte dafür aber keine neue Tabelle erzeugen (aka nur die Abfrage interessiert). Hab schon diverses ausprobiert, auch sachen, die ich hier gefunden habe (die beiden mit join verknüpfen, es gibt leider immer einen Fehler)
Hier die Abfragen:
SELECT
RepeatedArticles.cust AS cust, Customers.company, Customers.salut, Customers.prename, Customers.name, Customers.address1, Customers.address2, Customers.address3, Customers.zip, Customers.city, Customers.mail, SUM(RepeatedArticles.price / (RepeatedArticles.interv / RepeatedArticles.qty)) AS mSumme
FROM
RepeatedArticles INNER JOIN Customers
ON
RepeatedArticles.cust = Customers.id WHERE RepeatedArticles.flags NOT LIKE '%A%' AND RepeatedArticles.flags NOT LIKE '%B%' GROUP BY RepeatedArticles.cust
HAVING
mSumme > 1 ORDER BY Customers.company;
UND:
SELECT
Customers.id AS cust, Customers.company, Customers.salut, Customers.prename, Customers.name, Customers.address1, Customers.address2, Customers.address3, Customers.zip, Customers.city, Customers.mail, SUM(IF(AccTypes.interv = 12, Article.price/12, IF(AccTypes.interv = 6, Article.price/6, Article.price))) AS mSumme
FROM
Customers, Accounts, AccTypes, Article
WHERE
Accounts.cust = Customers.id AND Accounts.state !=9 AND AccTypes.type = Accounts.type AND AccTypes.baseart=Article.number
GROUP BY
Customers.id
HAVING mSumme1 > 1 ORDER BY Customers.company;
entschuldigt bitte vielmals die lausige Formatierung!
Der witz ist, dass ich die quasi zusammenzählen sollte, wenn die Angabe 'cust' übereinstimmt, damit wir einen anhaltspunkt haben
Antwort schreiben
Antwort 1 von pickdown vom 06.12.2019, 17:20 Options
Was ich vergessen habe zu schreiben:
Die Datenbank ist version 3.23, also gehts mit UNION schon mal nicht, wäre eine Elegante Lösung..