Veröffentlicht 5. November 200915 j ich versuche mit VB auf eine datenbank zu zugreifen. Der Zugriff auf die datenbank klappt aber es kommt bei folgenden befehl ein fehler: "SELECT CONCAT(u.lastname, ', ', u.firstname) AS Name, s.message AS Message, " _ & "DATE_FORMAT(e.timestamp,'%b %d %Y - %r') AS DateTime, e.status AS Status " _ & "FROM event e LEFT JOIN status s ON e.message_id = s.message_id, user u " _ & "WHERE(e.user_id = u.user_id) " _ & "AND event_id IN( " _ & "SELECT MAX(e.event_id) " _ & "FROM event e " _ & "GROUP BY e.user_id) " _ & "ORDER BY name" ich muss dazu sagen das ich mit vb 2008 programmiere und SQL befehle trotzdem eingeben kann. könnt Ihr mir da helfen???? mfg Felix
5. November 200915 j Der Zugriff auf die datenbank klappt aber es kommt bei folgenden befehl ein fehler: Du möchtest den Fehler auch nennen...
5. November 200915 j There was error reading from the database: You have an error in your SQL syntax. Check the manual that correspomds to your MySQL server version for the right syntax to use near 'SELECT MAX (e.event_id) From event e Group by e.user_id) ORDER B das ist der Fehler. bezieht sich auf den Code von oben.
5. November 200915 j ja und ? Wie die Meldung schon sagt, hast du einen SQL Syntax Fehler nahe bei 'SELECT MAX (e.event_id) ...'.
5. November 200915 j ja das weiß ich aber wo ist genau der Fehler? habe ich was falsch geschrieben in der Syntax????
5. November 200915 j daran kann es nicht liegen. Der Fehler ist immer noch da und immer noch der selbe.
5. November 200915 j warum fragst du denn mit ""AND event_id IN (subselect)" ab und nicht mit ""AND event_id=" ?
5. November 200915 j vielleicht liegt es an der version. Würde ich nicht vermuten, sondern eher, dass Du das Statement nicht korrekt formulieren kannst. Da aber hier niemand die Version des DBMS kennt, noch Deine Daten und Tabellen hat, kann man nicht helfen
5. November 200915 j stimmt daran habe ich garnicht gedacht. aber trotzdem danke. wart mir trotzdem eine gute hilfe. ist gut wenn man bei euch seine Programmier probleme los werden kann und man immer hilfe findet.
6. November 200915 j mal mit AND e.event_id IN (.. versucht? ansonten, welche version von MySQL ist es denn?
9. November 200915 j Ich würd schätzen dass es am "ORDER BY name" liegt, sortier mal nicht nach dem alias, sonder nimm ORDER BY CONCAT(u.lastname, ', ', u.firstname) Gruß Sven
10. November 200915 j Ahhhh gott, da war doch mal was ... Ich weis jetzt nichtmehr in welcher vb.net Version das war, aber bau deinen String mal per ssql = " SELECT CONCAT(u.lastname, ', ', u.firstname) AS Name, s.message AS Message, " ssql = ssql & "DATE_FORMAT(e.timestamp,'%b %d %Y - %r') AS DateTime, e.status AS Status " ssql = ssql & "FROM event e LEFT JOIN status s ON e.message_id = s.message_id, user u " ssql = ssql & "WHERE e.user_id = u.user_id " ssql = ssql & "AND event_id IN( " ssql = ssql & "SELECT MAX(e.event_id) " ssql = ssql & "FROM event e " ssql = ssql & "GROUP BY e.user_id) " ssql = ssql & "ORDER BY name " zusammen da gabs mal nen bug dass diese Verkettung per & _ nur über ein paar Zeilen ging. Und bei der Gelegenheit, formatier mal dein sql code n bissl, is absolut grausam da nen Fehler zu suchen...
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.