Liegt daran das nur Values alle Spalten erwartet.
Du hast aber die erste Spalte user_id nicht angegeben.
Wenn man es so machen will dann gibt mann bei dieser dann ein VALUES (null,xxx an
Hallo zusammen,
Hatte ein ähnliches Problem, jedoch nicht mit MS Access. Zur Lösung des Problems, die relevanten Informationen aus einer DB zu extrahieren und in eine andere Art von Strukturieren zu transformieren (tabellarisch -> Baumstruktur), habe ich den gewünschten Satz an Tupel als kommaseparierte Liste exportiert und anschließend mit Perl in ein XML-konformes Dokument gewandelt.
Perl eignet sich sehr gut u.a. sehr gut für seratige Aufgaben. Bei Tabellen größerem Ausmaß wird dieser Ansatz umständlich und weniger überschaubar.
Mich würden auch Alternativen interessieren.
Grüße
Martin
Ich kenne WITH nicht, aber ich rate einfach mal. WITH ist
Bei der Abfrage erzeugst Du mittels UNION ALL ein Ergebnisset, aus dem Du dann mittels SELECT DISTINCT die doppelten entfernst. Weißt Du eigentlich, was das ALL nach UNION bewirkt? UNION ohne ALL liefert keine doppelten. Mit ALL bekommst Du die doppelten, die Du mit dem äusseren SELECT wieder entfernst:
SELECT init.eltern, init.kind, init.name
FROM baum AS init
WHERE init.eltern='2'
UNION
SELECT stl.eltern, stl.kind, stl.name
FROM RecRel AS rec, baum AS stl
WHERE rec.kind = stl.eltern
Wenn ich das WITH richtig verstehe ist es auch identisch mit:
SELECT DISTINCT *
FROM (
SELECT init.eltern, init.kind, init.name
FROM baum AS init
WHERE init.eltern='2'
UNION all
SELECT stl.eltern, stl.kind, stl.name
FROM RecRel AS rec, baum AS stl
WHERE rec.kind = stl.eltern
) AS tab1;
Wobei ich nicht weiß, ob Mysql das kann.
Tntnet
Die Callback-Funktion darf keine Methode sein, d.h. sie muss entweder static oder freistehend sein.
(Strenggenommen müsste sie sogar freistehend und extern "C" sein)
BTW: Mit dieser Frage hättest Du im C++-Forum wahrscheinlich mehr Erfolg erzielt
Ich denke mal, wenn du in der Zeit Geld verdienen könntest, würdest du nicht stattdessen etwas auf freiwilliger Basis machen. Außerdem war ich früher auch in mehreren Foren aktiv und habe dort versucht zu helfen, wo ich konnte. Ich habe diesen Job erst seit 1/2 Jahr und bin im den Themen, mit denen ich mich nun befassen muß, noch nicht sehr bewandert. Dashalb kann ich im Moment weder vom Wissensstand, noch von der Zeit her groß helfen. Das wird sich bestimmt noch ändern.
Ich habe noch nie irgendwo erlebt, daß sich jemand so uneinsichtig und kleinlich anstellt.
Meine Erfahrung ist nunmal, daß man in mehreren Foren insgesamt bessere Lösungen kriegt und Zeit spart. Und ich finde es auch nett von den Leuten, die helfen. Ich helfe auch gerne wo ich kann.
Hast du noch nie schnell etwas fertig kriegen müssen und an mehreren Stellen nachgefragt, um schnell eine Antwort zu bekommen?
Deine Einstellung kann ich nicht verstehen.
Zeit ist Geld...Ich lebe um zu arbeiten...Wenn du nach solchen Sprüchen dein Leben lebst, dann möchte ich nicht mit dir tauschen. Für mich haben eher Ideelle Werte Priorität. Z.B. wenn man jemandem helfen oder eine Freude machen kann.
Außerdem: Wenn du selber nie in mehreren Foren postest, dann erwarte ich auch nicht, daß du mir antwortest. Gefundene Lösungen werden von mir Zeitnah gepostet, um den Aufwand für andere Mitglieder gering zu halten. Von diesen Lösungen haben wahrscheinlich auch zukünftige Mitglieder dieses Forums noch was.
Gruß
Olli
genial
ich wollte auch nur verdeutlichen was ich vor habe. das es nicht so -wie ich gepostet habe- funktioniert, habe ich ja schon festgestellt.
danke!
Airdamn schrieb:
Weiß zwar nicht ob SQLite 3 das kann, aber kannst ja mal versuchen
select enemy, sum(wins) as wins, sum(loses) as loses
from (
select loser as enemy, count(*) as wins, 0 as loses
from test
where winner = 1
group by loser
union all
select winner as enemy, 0 as wins, count(*) as loses
from test
where loser = 1
group by winner ) a
group by enemy
Thx! Supertipp Funktioniert wunderbar und brachte meinem Programm 10% mehr Geschwindigkeit Thx a lot
Entweder Du fügst weitere Bedingungen zu der ersten Abfrage hinzu oder
Du baust Dir eine Verschachtelte Abfrage
1. Abfrage
SELECT *
FROM tabelle
WHERE spalte1 = xxx
AND spalte2 = yyy
2. Abfrage
SELECT *
FROM (
SELECT *
FROM tabelle
WHERE spalte1 = xxx
AND spalte2 = yyy ) a
WHERE andereSpalte = zzz