• 05.05.2024, 04:31
  • S’inscrire
  • Connexion
  • Vous n’êtes pas connecté.

 

Bonjour, visiteur, bienvenue sur les forums Aqua Computer Forum. Si c’est votre première visite, nous vous invitons à consulter l’Aide. Elle vous expliquera le fonctionnement de cette page. Pour avoir accès à toutes les fonctionnalités, vous devez vous inscrire. Pour cela, veuillez utiliser le formulaire d’enregistrement, ou bien lisez plus d’informations sur la procédure d’enregistrement. Si vous êtes déjà enregistré, veuillez vous connecter.

SQL Abfrage

jeudi 15 janvier 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.

Code source

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

jeudi 15 janvier 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

vendredi 16 janvier 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`.

Code source

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.

Ce message a été modifié 2 fois. Dernière modification effectuée par "Y0Gi" (16 janvier 2009, 03:55)

vendredi 16 janvier 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

vendredi 16 janvier 2009, 19:30

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

@FUNKMAN: Danke, toller Beitrag

Ce message a été modifié 1 fois. Dernière modification effectuée par "JOJBer" (16 janvier 2009, 19:31)

dimanche 18 janvier 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

Discussions similaires