• 25.04.2024, 17:19
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

SQL Abfrage

Donnerstag, 15. Januar 2009, 21:55

Hallo,

ich habe da mal eine Frage zu SQL. Ich hoffe mir kann jemand helfen.

ich habe zwei Tabellen, in der ersten (2 Spalten) steht einige ID´s. Diese wiederholen sich auch.
In der Zweiten Tabelle steht für jede ID ein sprechender Name.

Ich würde jetzt gerne folgende Abfrage so erweitern, dass nicht die ID, sondern der sprechende Name mit der Anzahl zurück gegeben wird.

Quellcode

1
2
3
SELECT COUNT(Id) anzahl, `Id` 
FROM `TabelleZumZählen`
GROUP BY `Id`"


Hat dazu jemand ne Idee, habe ein wenig mit Inner Join rum gespielt, weiß nicht ob das die richtige Richtung ist???

Danke schon mal

Donnerstag, 15. Januar 2009, 22:03

JOIN tabelle2 ON tabelle1.id = tabelle2.id
das noch irgendwo dazu und bei select halt tabell2.name fürn namen selecten

wenns net klar is einfach nach "sql join" o.ä. googlen, da findet man haufenweise zeug

RE: SQL Abfrage

Freitag, 16. Januar 2009, 03:52

Nehmen wir an, die erste Tabelle heißt `example_ids` und enthält nur die Spalte `id`, die zweite Tabelle heißt `users` und enthält die Spalten `id` und `name`.

Quellcode

1
2
3
4
SELECT COUNT(e.id) anzahl, u.name
FROM example_ids AS e
    LEFT JOIN users AS u ON (e.id = users.id)
GROUP BY e.id


Wie du siehst, verwende ich Aliase. Dabei kann das `AS`-Schlüsselwort auch wegfallen (je nach angesprochenem DBMS; bei z. B. MySQL geht das), so dass es dann `users u` würde. Es geht auch ohne Aliase, nur dann müsstest du in der ersten Zeile `example_ids.id` und `users.name` schreiben - und das wird schon bei einfacheren Queries deutlich umständlicher und unübersichtlicher.

In diesem konkreten Fall könnte man statt `ON (e.id = users.id)` auch `USING id` benutzen, aber es ist auch nur ein Beispiel. In der Praxis würde `id` in der ersten Tabelle, das ja einen Fremdschlüssel darstellt, wahrscheinlich einen anderen Namen wie `user_id` erhalten.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Y0Gi« (16. Januar 2009, 03:55)

Freitag, 16. Januar 2009, 08:57

...in der ersten (2 Spalten) steht einige ID´s.


Diese ...



Mal ganz abgesehen davon, dass "EINIGE" immer den Plural voraussetzt und damit die Verwendung von "steht" nicht wirklich Sinn ergibt, würfelst duim nächsten Satz mit "diese" schön wieder in die Mehrzahl und bringst alles durcheinander.


Zum apostrophierten S, das du anscheinend für die korrekte Pluralschreibweise hälst, kann ich dir nur diese Ausführungen bei Wiki wärmstens ans Herz legen.

Quasi "ähnlich fein":











So, und nun coded euch mal alle schön ins Nirvana... :D :D :P :P :P :P :P :P :P :D :D
Meister der symmetrischen Smileys!!! :D 8) :P :cursing: :thumbsup: :cursing: :P 8) :D

Freitag, 16. Januar 2009, 19:30

Viele Dank für die Hilfe. Jetzt klappt alles.

@FUNKMAN: Danke, toller Beitrag

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JOJBer« (16. Januar 2009, 19:31)

Sonntag, 18. Januar 2009, 17:21

[...] kann ich dir nur diese Ausführungen bei Wiki wärmstens ans Herz legen.

Das Angebot heißt "Wikipedia", du Suppentrulli! :P

Ähnliche Themen