Hoe kan ik SELECT aanpassen?

Status
Niet open voor verdere reacties.

barendrecht82

Gebruiker
Lid geworden
24 mrt 2013
Berichten
230
Hoi,

Ik wil graag deze code bewerken tot het volgende. Deze code genereerd een lijst met productieorders die hij uit een items tabel haalt. Enige wat ik wl is dat de items ook zichtbaar zijn in deze select sql.


Code:
SELECT p.ProjectNr AS Production, gbkmut.oms25 AS Description, (CASE WHEN SUM(gbkmut.aantal) < 0 AND gbkmut.transsubtype <> 'J' THEN -SUM(gbkmut.aantal) ELSE SUM(gbkmut.aantal) END) AS Quantity, gbkmut.warehouse AS Warehouse, gbkmut.id AS RecordNum FROM PrProject p JOIN gbkmut ON p.ProjectNr=gbkmut.project AND gbkmut.bud_vers='MRP' AND gbkmut.transtype='B' AND gbkmut.freefield1='P' 
AND gbkmut.transsubtype IN ('A','B','J') JOIN Items ON Items.ItemCode=gbkmut.artcode AND Items.GLAccountDistribution=gbkmut.reknr  WHERE p.Type='P' AND Items.ItemCode BETWEEN 'U10-0100-10' AND 'U10-0200-10' GROUP BY p.ProjectNr, gbkmut.oms25, gbkmut.warehouse, gbkmut.afldat, gbkmut.transsubtype, gbkmut.id ORDER BY p.ProjectNR

Ik heb hier de items.itemcode al op een range gezet, maar deze code laat niet de itemcode zichtbaar. Hoe kan ik dit doen??

Bedankt.
 
Door dit veld ook bij je select toe te voegen.
Staat nu twee items, Production en Description.
 
is het niet handig als je het eerst even goed format? Dan zie je het meteen overzichtelijker:

Code:
 SELECT p.projectnr      AS Production,
       gbkmut.oms25     AS Description,
       ( CASE
           WHEN Sum(gbkmut.aantal) < 0
                AND gbkmut.transsubtype <> 'J' THEN -Sum(gbkmut.aantal)
           ELSE Sum(gbkmut.aantal)
         end )          AS Quantity,
       gbkmut.warehouse AS Warehouse,
       gbkmut.id        AS RecordNum
FROM   prproject p
       JOIN gbkmut
         ON p.projectnr = gbkmut.project
            AND gbkmut.bud_vers = 'MRP'
            AND gbkmut.transtype = 'B'
            AND gbkmut.freefield1 = 'P'
            AND gbkmut.transsubtype IN ( 'A', 'B', 'J' )
       JOIN items
         ON items.itemcode = gbkmut.artcode
            AND items.glaccountdistribution = gbkmut.reknr
WHERE  p.type = 'P'
       AND items.itemcode BETWEEN 'U10-0100-10' AND 'U10-0200-10'
GROUP  BY p.projectnr,
          gbkmut.oms25,
          gbkmut.warehouse,
          gbkmut.afldat,
          gbkmut.transsubtype,
          gbkmut.id
ORDER  BY p.projectnr
(Met dank aan: http://www.dpriver.com/pp/sqlformat.htm)
 
Aah, zag hele code niet (op mobiel).
En wat als je bij de SELECT:
gbkmut.artcode AS Itemcode
toevoegd?
 
is het niet handig als je het eerst even goed format? Dan zie je het meteen overzichtelijker:

Code:
 SELECT p.projectnr      AS Production,
       gbkmut.oms25     AS Description,
       ( CASE
           WHEN Sum(gbkmut.aantal) < 0
                AND gbkmut.transsubtype <> 'J' THEN -Sum(gbkmut.aantal)
           ELSE Sum(gbkmut.aantal)
         end )          AS Quantity,
       gbkmut.warehouse AS Warehouse,
       gbkmut.id        AS RecordNum
FROM   prproject p
       JOIN gbkmut
         ON p.projectnr = gbkmut.project
            AND gbkmut.bud_vers = 'MRP'
            AND gbkmut.transtype = 'B'
            AND gbkmut.freefield1 = 'P'
            AND gbkmut.transsubtype IN ( 'A', 'B', 'J' )
       JOIN items
         ON items.itemcode = gbkmut.artcode
            AND items.glaccountdistribution = gbkmut.reknr
WHERE  p.type = 'P'
       AND items.itemcode BETWEEN 'U10-0100-10' AND 'U10-0200-10'
GROUP  BY p.projectnr,
          gbkmut.oms25,
          gbkmut.warehouse,
          gbkmut.afldat,
          gbkmut.transsubtype,
          gbkmut.id
ORDER  BY p.projectnr
(Met dank aan: http://www.dpriver.com/pp/sqlformat.htm)

Dankje wel,

Alleen hoe krijg ik nu ook de itemcode zichtbaar? Hij groepeert de projectnr. Ik wil dus ook de itemnummers kunnen zien. Welke code moet ik doen?
 
Dus dit:
Code:
 SELECT p.projectnr      AS Production,
       gbkmut.oms25     AS Description,
       ( CASE
           WHEN Sum(gbkmut.aantal) < 0
                AND gbkmut.transsubtype <> 'J' THEN -Sum(gbkmut.aantal)
           ELSE Sum(gbkmut.aantal)
         end )          AS Quantity,
       gbkmut.warehouse AS Warehouse,
       gbkmut.id        AS RecordNum,
       gbkmut.artcode AS Artikelcode
FROM   prproject p
       JOIN gbkmut
         ON p.projectnr = gbkmut.project
            AND gbkmut.bud_vers = 'MRP'
            AND gbkmut.transtype = 'B'
            AND gbkmut.freefield1 = 'P'
            AND gbkmut.transsubtype IN ( 'A', 'B', 'J' )
       JOIN items
         ON items.itemcode = gbkmut.artcode
            AND items.glaccountdistribution = gbkmut.reknr
WHERE  p.type = 'P'
       AND items.itemcode BETWEEN 'U10-0100-10' AND 'U10-0200-10'
GROUP  BY p.projectnr,
          gbkmut.oms25,
          gbkmut.warehouse,
          gbkmut.afldat,
          gbkmut.transsubtype,
          gbkmut.id
ORDER  BY p.projectnr
werkt niet, krijg je een fout o.i.d.?
 
En wat als je (als test) de 'group by' en 'order by' weghaalt?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan