【问题标题】:Create one query statement out of two queries?从两个查询中创建一个查询语句?
【发布时间】:2016-01-11 20:13:18
【问题描述】:

我正在尝试从这些查询中进行一个查询。在第一个查询中,我试图获取不同仓库的文章总和。在第二个查询中,我得到了文章交易(售出了多少文章)。我想做一个查询来连接这两个查询并在表中打印结果。

查询 1

SELECT a.ArtId, a.ArtSifra, a.ArtNaziv,a.ArtRoditelj, a.ArtStanjeSA, a.ArtKategorija, a.ArtMjera, sum(b.artpaletatrenutnostanje) as suma, (a.artstanjesa + sum(b.artpaletatrenutnostanje))
          AS ukupno, c.JmOznaka FROM artikli a 
          LEFT JOIN artikli_palete_ulaz b 
          on a.ArtID = b.ArtPaletaArtikal 
          LEFT JOIN jedmj c 
          ON a.ArtMjera = c.JmId
          WHERE a.ArtRoditelj != 0 AND a.ArtAktivan != 0
          GROUP BY a.ArtId ORDER BY a.ArtId asc, a.ArtKategorija asc

查询 2

SELECT a.Artikal,a.datum,b.ArtNaziv,b.ArtSifra,b.ArtMjera,c.JmNaziv,a.VrstaDokumenta, sum(a.Izlaz) as suma 
FROM kartica_artikla_2015 a 
LEFT JOIN artikli b on a.artikal = b.ArtId 
LEFT JOIN jedmj c ON b.ArtMjera = c.jmid 
WHERE a.VrstaDokumenta != 18 
GROUP BY Artikal

这些查询独立工作。 我想知道是否可以连接这两个查询?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    试试这个:

    SELECT a.ArtId, a.ArtSifra, a.ArtNaziv,a.ArtRoditelj, a.ArtStanje, a.ArtKategorija,
    k.Artikal,k.datum,a.ArtNaziv,a.ArtSifra,a.ArtMjera,c.JmNaziv,
    k.VrstaDokumenta, sum(k.Izlaz) as suma
    FROM artikli a 
    LEFT JOIN kartica_artikla_2015 k on k.artikal = a.ArtId 
    LEFT JOIN artikli_palete_ulaz b on a.ArtID = b.ArtPaletaArtikal 
    LEFT JOIN jedmj c  ON a.ArtMjera = c.JmId
    WHERE a.ArtRoditelj != 0 AND a.ArtAktivan != 0 AND a.VrstaDokumenta != 18
    GROUP BY a.ArtId, k.Artikal
    ORDER BY a.ArtId asc, a.ArtKategorija asc
    

    【讨论】:

    • 很抱歉,我第一次查询时输入错误,但我尝试进行这样的查询,总和得到错误的值。
    • @user3651819:- 我已经加入了。您只需在 SELECT 语句中放入(add/modify)列。
    • 它不起作用,它对 sum 列没有很好的结果
    猜你喜欢
    • 1970-01-01
    • 2017-08-07
    • 2021-03-17
    • 1970-01-01
    • 2015-11-05
    • 2016-07-10
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多