Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Combination of two objects by their attribut in only one table

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Hornlui, 9 Dezember 2016.

  1. Hornlui

    Hornlui Benutzer

    hello,
    i´ve got two tables a and b that i want to "put together". if their fk: ram (a.ram, b.ram) has the same amount of bids from table b=bids(count* from bids as numberbids) the couples should be shown like this:
    example:
    ---------------------------------
    ram1 ram2 numberbids
    1 2 2
    1 5 2
    5 2 2
    i really hope someone can help
    Thanks!
     
  2. akretschmer

    akretschmer Datenbank-Guru

    please show us table-definition and table-data. And please keep in mind: this is a german speaking forum, so can we switch to german?

    Regards, Andreas
     
  3. Hornlui

    Hornlui Benutzer

    Hello Andreas,
    dankeschön.
    a
    --------
    ram
    a
    b



    b
    ------
    d
    ram
    bid

    ich brauche:
    ram1 ram2 NumberBids
    -------------------------------------
    immer kombinationen von den 2 rams(=fk), die zusammen gleiche ANzahl bids haben
     
  4. akretschmer

    akretschmer Datenbank-Guru

    ich sehe keinen Weg, um aus den gezeigten Tabellen das zu erhalten, was im ersten Post dargestellt wurde. Aber vermutlich nur deswegen, weil ich exakt gar nicht verstehe, was das alles soll.

    PS.: bitte nutze [ code ] - Tags für Code-Abschnitte. Es gibt hier im Forum auch eine Online-Hilfe, die das erklärt.
     
  5. Hornlui

    Hornlui Benutzer

    Ich habe die Daten nicht, nur diese Übersicht
    Code:
    tabellea
    ram
    a
    b

    Code:
    tabelleb
    ram
    b
    bid
    
    nun möchte ich die kombinationen von artikeln, die beide, die gleiche anzahl bids haben.
    Also habe ich
    Select tabellea.ram as ram1, tabelleb.ram as ram2,  count(*) as Numberofbids from tabellea inner join tabelleb
    on tabellea.ram=tabelleb.ram
    group by tabellea.ram,tabelleb.ram;
    abgefragt. dadurch erhalte ich das:
    [CODE]
    [ram1][ram2][Numberofbids]
    2 5 2
    4 4 5
    2 1 2
    1 5 2
    3 3 6
    also weiss ich, dass 1,2 und 5 die gleich Anzahl gebote haben und möchte jetzt eine tabelle ausgebe, in der nur diese kombinationen vorkommen. Und hierbei weiß ich nicht wie das zu machen ist.
    Danke
     
  6. Hornlui

    Hornlui Benutzer

    Sorry für die schlechte Darstellung! Ich weiß nicht wie es sonst geht.
     
  7. akretschmer

    akretschmer Datenbank-Guru

    Mit Deinen Daten erhalte ich:

    Code:
    test=*# select * from table_a;
     ram
    -----
     a
     b
    (2 Zeilen)
    
    test=*# select * from table_b;
     ram
    -----
     b
     bid
    (2 Zeilen)
    
    test=*# select table_a.ram as ram1, table_b.ram as ram2, count(*) as numberofbids from table_a inner join table_b on table_a.ram=table_b.ram group by 1,2;
     ram1 | ram2 | numberofbids
    ------+------+--------------
     b  | b  |  1
    (1 Zeile)
    
    test=*#
    
    Mir ist unverständlich, wie Deine gewünschte Ergebnissmenge zustande kommen soll.
     
  8. Hornlui

    Hornlui Benutzer

    mir ist unverständlich was du da gemacht hast. wie kannst du abfragen von tabellen machen, auf die du keinen zugriff hast? ich habe die datenübersich(Tabellen) aufgeschrieben und was ich gemacht habe.
    verstehst du denn was die aufgabe ist?
     
  9. Hornlui

    Hornlui Benutzer

    tabellea bzw tabelleb sind die namen der tabelle. ram der fremdschlüssel
     
  10. Hornlui

    Hornlui Benutzer

    a,b objekte..
     
  11. akretschmer

    akretschmer Datenbank-Guru

    Ich bin Gott, ich kann das halt ;-)

    Nein.
     
  12. Hornlui

    Hornlui Benutzer

    schade, aber danke dir. ist halt auch ein bisschen höheres niveau
     
Die Seite wird geladen...
Ähnliche Themen - Combination objects their
  1. quinoman
    Antworten:
    11
    Aufrufe:
    2.046

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden