Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SQL Abfrage mit Where und And

Empfohlene Antworten

Veröffentlicht

Was ist an dieser Abfrage falsch?

SELECT Lieferdatum,Seriennummer FROM Auslieferversionen where ([Auslieferversionen].[KD-Nr]=[Kunden].[Kd-Nr]) and ([Kunden].[Kunde]="RTL")

Fehlermeldung:

Syntaxfehler (fehlender Operator) in Abfrageausdruck '([Auslieferversionen].[KD-Nr]=[Kunden].[Kd-Nr]) and ([Kunden].[Kunde]=RTL)

Original geschrieben von MeisterB

Was ist an dieser Abfrage falsch?

SELECT Lieferdatum,Seriennummer FROM Auslieferversionen where ([Auslieferversionen].[KD-Nr]=[Kunden].[Kd-Nr]) and ([Kunden].[Kunde]="RTL")

Fehlermeldung:

Syntaxfehler (fehlender Operator) in Abfrageausdruck '([Auslieferversionen].[KD-Nr]=[Kunden].[Kd-Nr]) and ([Kunden].[Kunde]=RTL)

Du beziehst dich auf die Tabelle Kunden in deiner WHERE Bedingung, ohne das sie zu dem SELECT gehört, ich denke darin liegt der Fehler. Probier mal ob es so läuft:

SELECT Auslieferversionen.Lieferdatum, Auslieferversionen.Seriennummer FROM Auslieferversionen INNER JOIN Kunden ON ([Auslieferversionen].[KD-Nr]=[Kunden].[Kd-Nr]) where ([Kunden].[Kunde]="RTL")

Die Fehlermeldung hat sich durch deinen Vorschlag zu dieser Verändert:

Syntaxfehler (fehlender Operator) in Abfrageausdruck '([Kunden].[Kunde]="RTL")'.

Ich benutzte eine Accessdatenbank und greife über VC++ .net darauf zu. Der Fehler war der, das ich RTL in ' ' setzten muss und nicht in " ". Bin jetzt weiter gegangen und hab versucht noch ne join Anweisung einzubinden aber da erhalte ich den Fehler: Syntaxfehler in JOIN-Operation.

SELECT Auslieferversionen.Lieferdatum, Auslieferversionen.Seriennummer,Versionen.Versionsbezeichung FROM Auslieferversionen INNER JOIN (Kunden ON ([Auslieferversionen].[KD-Nr]=[Kunden].[Kd-Nr]) where ([Kunden].[Kunde]='XXX'))Inner Join(Versionen On([Auslieferversionen].[Lieferversion]=[Versionen].[Versionsnummer])

Meine Datenbank ist so aufgebaut: Kunden besitzt referentielle Integrietät auf Auslieferversionen (durch Kd-Nr von Kunden und KD-Nr von Auslieferversionen), Auslieferversionen besitzt wiederum referentielle Integrietät auf Versionen(durch Lieferversion von Auslieferversionen und Versionsnummer von Versionen).

Ich hoffe du kannst damit was anfangen, da ich gerade erst mit SQL-Abfragen begonnen habe und nicht besonders viel Erfahrung damit habe.

Ich erklär wohl besser was ich genau mit der Abfrage bezwecken will:

Wenn der Benutzer einen Kunden auswählt sollen aus allen Tabellen bestimmte Werte abgefragt werden die sich nur auf diesen einen Kunden beziehen.

Hier mein ganzer Datenbankaufbau:

Meine Datenbank ist so aufgebaut: Kunden besitzt referentielle Integrietät auf Auslieferversionen (durch Kd-Nr von Kunden und KD-Nr von Auslieferversionen), Auslieferversionen besitzt wiederum referentielle Integrietät auf Versionen(durch Lieferversion von Auslieferversionen und Versionsnummer von Versionen). Weiterhin besitzt Auslieferversionen referentielle Integrietät auf Sachbearbeiter (durch Sachbearbeiter von Auslieferversionen und Personalnummer von Sachbearbeiter).

Also müssten die Abfrage so aufgebaut sein, das die ganzen Tabellen durch die Punkte die referentielle Integrietät aufweisen verbunden sind. Da ich wie schon gesagt nicht viel Ahnung von SQL bzw. dem Inner Join habe möchte ich euch bitten mir eine mögliche Lösung zu geben

Hab ich ein Glück in der Accessdatenbank hab ich ne Abfrage gefunden die genau diesen referentiellen Integrietät-Zusammenhang darstellt :D

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.