Hej,
Jag använde Access, för att göra en urvalsfråga mot en databas via ODBC...
När jag sedan visade den i SQL-läge, ser den ut så här:
SELECT Artikel.Artikelnr,
Artikel.Benämning AS Benämning 1
ArtikelText.[Text 1] AS Benämning 2,
Artikel.Enhet,
Artikel.Artikeltyp,
Artikel.[Tillv/köp-kod],
Artikel.[Kortnr statnr],
Artikel.[Antal per enhet (förp)],
Artikel.[Försäljn pris],
Artikel.[Leverantörens best nr],
Artikel.Lagersaldo,
Artikel.[Kod artikelkat] INTO [Artikelreg till UppdragNU]
FROM Artikel
INNER JOIN ArtikelText
ON Artikel.Artikelnr = ArtikelText.Artikelnr
WHERE (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="21"))
OR (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="22"))
OR (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="28"))
OR (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="47"))
OR (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="68"))
OR (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="87"))
OR (((Artikel.Artikeltyp) Is Null) AND ((Artikel.[Kod artikelkat])="90"));
Vilka parenteser kan jag ta bort... ??
Känns väldigt invecklad, samtidigt som jag blir osäker på vad jag kan ta bort...
Det är ingen vanlig MSSQL-databas jag kopplar mot, så jag vet inte om IN ( ) Fungerar...
Rensade lite, och detta måste väl vara samma som ovan?
SELECT Artikel.Artikelnr,
Artikel.Benämning AS Benämning 1
ArtikelText.[Text 1] AS Benämning 2,
Artikel.Enhet,
Artikel.Artikeltyp,
Artikel.[Tillv/köp-kod],
Artikel.[Kortnr statnr],
Artikel.[Antal per enhet (förp)],
Artikel.[Försäljn pris],
Artikel.[Leverantörens best nr],
Artikel.Lagersaldo,
Artikel.[Kod artikelkat] INTO [Artikelreg till UppdragNU]
FROM Artikel
INNER JOIN ArtikelText
ON Artikel.Artikelnr = ArtikelText.Artikelnr
WHERE (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="21")
OR (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="22")
OR (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="28")
OR (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="47")
OR (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="68")
OR (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="87")
OR (Artikel.Artikeltyp Is Null AND Artikel.[Kod artikelkat]="90");
SELECT Artikel.Artikelnr,
Artikel.Benämning AS Benämning 1
ArtikelText.[Text 1] AS Benämning 2,
Artikel.Enhet,
Artikel.Artikeltyp,
Artikel.[Tillv/köp-kod],
Artikel.[Kortnr statnr],
Artikel.[Antal per enhet (förp)],
Artikel.[Försäljn pris],
Artikel.[Leverantörens best nr],
Artikel.Lagersaldo,
Artikel.[Kod artikelkat] INTO [Artikelreg till UppdragNU]
FROM Artikel
INNER JOIN ArtikelText
ON Artikel.Artikelnr = ArtikelText.Artikelnr
WHERE Artikel.Artikeltyp Is Null
AND
(
Artikel.[Kod artikelkat]="21"
OR Artikel.[Kod artikelkat]="22"
OR Artikel.[Kod artikelkat]="28"
OR Artikel.[Kod artikelkat]="47"
OR Artikel.[Kod artikelkat]="68"
OR Artikel.[Kod artikelkat]="87"
OR Artikel.[Kod artikelkat]="90"
)
Fortfarande samma vad jag kan se. Den första rensningen var triviala saker. Tvåan var också korrekt som du tänker på vad som får frågan att bli sann, alltså att både ett av artikelkategorierna stämmer överens, och att artikeltypen är null. Koden ser nog ut så för att maskingenererad kod inte är till för att läsas av människor. :)
134 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17