Abfrage aus 2 Tabellen mit Join?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Abfrage aus 2 Tabellen mit Join?

    Guten Tag!

    ich habe 2 Tabellen, welche wie folgt aufgebaut sind:
    1. vms_banner
    ID | URL | TEXT | TAN | IPTIME
    1 | http://www.test.de | | HAT294 | 7200

    2. vms_reload
    ID | TAN | TIME
    1 | HAT294 | 8984913516

    (Das sind nur Beipsieldaten)

    Nun allerdings zu emienr Frage. Und zwar hole ich jetzt alle Banner auf vms_banner heraus und packe diese in eine while-schleife. In dieser while-schleife mach ich dann nun die abfrage, ob banner noch in der reload-sperre ist. Falls 5 banner gefunden, welche nicht in der reload-sperre sind, diese ausgeben und while-schleife abbrechen.

    Die beansprucht aber ganz schön viele mysql-abfragen, wenn cih viele besucher habe.

    deshalb: ist es irgendwie möglich mit JOINS dies zu gestalten? ich habe davon nur etwas gelesen, und sonst finde ich hier ncihts weiter, was ich verstehe. sorry, aber ich hatte damit noch nichts zu tun.

    schonmal danke!
    Mit freundlichem Gruß,
    Deathrow

  • #2
    Geht sicher...

    Also dass du nun schon so lange dabei bist, und noch keine Joins kennen gelernt hats...
    http://www.php-resource.de/forum/sho...threadid=28292

    Sollte dir helfen. Ansonsten mal n paar deiner begründeten Ansätze Zeigen.

    Kommentar


    • #3
      Ich weiß dass ich schon lange dabei bin, aber ich habe alles bisher so gemacht, wie ich es konnte und damals als ich die Joins gesehen habe, waren rmi diese zu kompliziert... ich schaue da aber mal kurz drüber
      Mit freundlichem Gruß,
      Deathrow

      Kommentar


      • #4
        Also, ich habe jetzt mal rumprobiert. und ich schaffe es, die banner auszulesen, welche sich in der Reload-Sperre befidnen. Aber es sollen ja die ausgelesen werden, welche sich außerhalt der reload-sperre befinden:

        SELECT
        t1.*, t2.*
        FROM
        vms_gebuchte_werbung t2
        RIGHT JOIN vms_reloads t1 ON t1.tan=t2.tan
        WHERE t2.werbeart='forcedbanner' AND t2.status=1 AND t2.menge>=1 AND t1.uid=1

        Tabellen-Syntax:
        --
        -- Tabellenstruktur für Tabelle `vms_gebuchte_werbung`
        --

        CREATE TABLE `vms_gebuchte_werbung` (
        `uid` int(7) NOT NULL default '0',
        `tan` varchar(32) NOT NULL default '',
        `kid` int(11) NOT NULL default '0',
        `ziel` varchar(250) NOT NULL default '',
        `banner` varchar(250) NOT NULL default '',
        `verdienst` double(10,2) NOT NULL default '0.00',
        `preis` double(10,2) NOT NULL default '0.00',
        `aufendhalt` int(11) NOT NULL default '0',
        `menge` int(11) NOT NULL default '0',
        `reload` int(11) NOT NULL default '0',
        `sponsor` varchar(25) NOT NULL default '',
        `werbeart` varchar(50) NOT NULL default '',
        `status` tinyint(1) NOT NULL default '1'
        ) TYPE=MyISAM;

        -- --------------------------------------------------------

        --
        -- Tabellenstruktur für Tabelle `vms_reloads`
        --

        CREATE TABLE `vms_reloads` (
        `ip` varchar(15) NOT NULL default '',
        `uid` int(7) NOT NULL default '0',
        `tan` varchar(32) NOT NULL default '',
        `bis` int(10) NOT NULL default '0'
        ) TYPE=MyISAM;

        Was habe ich denn nun falsch gemacht?
        Zuletzt geändert von Deathrow; 10.06.2005, 12:10.
        Mit freundlichem Gruß,
        Deathrow

        Kommentar


        • #5
          was bedeutet Reloadsperre? hat das mit der Spalte bis zu tun? warum hat der Dump im 2. post nichts mit deiner Angabe im 1. zu tun? Liest du auch mal nach, was du da eintippst? Achte zumindest bitte darauf, dass die Buchstaben auch richtig angeordnet sind!

          Kommentar


          • #6
            Okay, buchstaben sind jetzt zum meisten teil richtig angeordnet
            Ja, die reload-sperre hat eswas mit der Spalte bis zu tun.
            Mit freundlichem Gruß,
            Deathrow

            Kommentar


            • #7
              Original geschrieben von Deathrow

              Ja, die reload-sperre hat eswas mit der Spalte bis zu tun.
              oh mann ... und zwar wie? oder anders gefragt: woher weisst du mit der obigen Abfrage, dass du nur die gesperrte ausgelesen hast, d.h. erläutere mal deine Bedingungen, denn keiner von uns kennt sie.

              Kommentar


              • #8
                Also, sorry, wenn ich schnellschreibe uns deshalb mal ein paar buchstaben verwechsele oder vergesse

                ich weiß das, weil ich 180 aktive kampagnen habe, in vms_gebuchte_werbung. dort habe ich dann testweise 3 angeklickt und deren tan nebenbei notiert. dann habe ich die abfrage, wie cih sie mri zusammentgetüftelt habe, in phpmyadmin ausgeführt und es wurden die 3 banner angezeigt, welche ich angeklickt habe, und diese hatten auch genau die tan's wie die, die ich angeklickt habe. so i.O. ?
                Mit freundlichem Gruß,
                Deathrow

                Kommentar


                • #9
                  Toll, hilf dir selbst

                  Kommentar


                  • #10
                    Nette Sache...
                    Mit freundlichem Gruß,
                    Deathrow

                    Kommentar


                    • #11
                      irgendwie scheinst du nicht ausreichend auf asps fragen einzugehen...

                      Kommentar


                      • #12
                        ich hab die frage so verstanden.
                        Mit freundlichem Gruß,
                        Deathrow

                        Kommentar


                        • #13
                          Original geschrieben von TobiaZ
                          irgendwie scheinst du nicht ausreichend auf asps fragen einzugehen...
                          über belanglose Dinge kann er gut labern

                          @Deathrow, ... und das verstehst du unter: "Bedingungen erläutern"

                          Kommentar

                          Lädt...
                          X