Feltet tbl_FQCprodukter.InspekLevel indeholder værdierne A, B eller C Feltet TISFC001.pdno indeholder unikke værdier Feltet TISFC001.ItemID indeholder dubletter
Jeg ønsker at afgrænse resultatet, således at jeg får alle linier når tbl_FQCprodukter.InspekLevel = A eller B, men kun én linie per ItemID (feltet TISFC001.ItemID) når tbl_FQCprodukter.InspekLevel = C
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Hvorfor ikke indrette din query saaledes at du med det samme faar de linier ud du skal bruge og saa vise dem paa siden? Det synes mig enklere end at querye saa du faar for mange linier og saa bagefter sortere dem ud paa siden.
Jeg kender ikke din SQL dialekt - jeg har lavet en query der virker i MySql; jeg haaber du selv kan omsaette det i din dialekt. Din problemstilling var ikke helt klar for mig, saa jeg har lavet de foelgende antagelser:
(1) For hver ItemID kan der eksistere adskillige pdno'er. (2) Naar InspLevel er A eller B vil du for hver ItemID have samtlige pdno'er, men naar InspLevel er C vil du have antallet af pdno'er.
Min query er derfor en UNION query der foerst soeger efter alle linier hvor InspLevel er A eller B og derefter soeger for antallet af linier hvor InspLevel er C.
For at teste det lavede jeg to tabeller, denisTISFC001 og denistbl_FQCprodukter. Jeg fyldte et par vaerdier i.
Her kommer foerst min query, og derefter kommer mine tabeller og vaerdierne.
SELECT pdno, ItemID, InspLevel FROM denisTISFC001 LEFT JOIN denistbl_FQCproducter ON ItemID = VareNr WHERE aptd='1900-01-01' AND InspLevel = 'A' OR InspLevel = 'B' UNION SELECT COUNT(*), ItemID, InspLevel FROM denisTISFC001 LEFT JOIN denistbl_FQCproducter ON ItemID = VareNr WHERE aptd='1900-01-01' AND InspLevel = 'C' GROUP BY InspLevel
Resultatet er, med de givne tabeller og vaerdier, det foelgende:
pdno ItemID InspLevel 1 1 A 1 1 B 2 1 A 2 1 B 3 1 A 3 1 B 1 2 B 2 2 B 3 2 B 4 2 B 7 2 C
INSERT INTO denisTISFC001 VALUES(1, 1, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(2, 1, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(3, 1, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(1, 2, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(2, 2, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(3, 2, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(1, 2, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(2, 2, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(3, 2, '1900-01-01'); INSERT INTO denisTISFC001 VALUES(4, 2, '1900-01-01');
INSERT INTO denistbl_FQCproducter VALUES(1, 'A'); INSERT INTO denistbl_FQCproducter VALUES(2, 'B'); INSERT INTO denistbl_FQCproducter VALUES(1, 'B'); INSERT INTO denistbl_FQCproducter VALUES(2, 'C');
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.