php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 28-04-2008, 18:57
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard zwei tabellen zusammen fügen (Select)

Hallo,

darauf gibt es sicher eine einfache Antwort aber alles probieren gibt mir immer nur eine Fehlermeldung aus... irgendwie will das grad nicht

Also hab zwei Tabellen beide will ich einfach zu einer zusammen fügen und ordnen lassen "by timestamp"

Also ich hab:

Tabelle1
id | price | timestamp | X | X | X | X

Tabelle2
id | price | timestamp

jetzt will ich einfach nur das beide zu einer zusammen gefügt werden und diese geordnet per timestamp.

Ich dachte das es vielleicht mit:
Code:
SELECT * FROM Tabelle1, Tabelle2 ORDER by timestamp
geht... aber das hat nicht funktioniert... dann hab ich es mit Join probiert aber auch da hab ich irgendwie immer Fehler bekommen. Ich kriegs einfach nicht hin

Ich hoffe mit kann jemand weiter helfen.

Gruß Nordin
Mit Zitat antworten
  #2 (permalink)  
Alt 28-04-2008, 19:03
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du musst bei Order By auch eine Tabelle angeben ---> Tabelle1.timestamp bzw. Tabelle2.timestamp

Seggl-hoch-drei
Mit Zitat antworten
  #3 (permalink)  
Alt 28-04-2008, 19:08
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

also quasi so:
Code:
SELECT * FROM Tabelle1, Tabelle2 ORDER by Tabelle1.timestamp
aber dann wird doch nur nach timstamp aus tabelle1 (oder tabelle2) geordnet... ich will aber quasi aus zwei tabellen eine machen weil die drei felder (uid, price, timestamp) das selbe format habe...

weißt wie ich meine? oder versteh ich da was nicht?
Mit Zitat antworten
  #4 (permalink)  
Alt 28-04-2008, 19:14
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Er kann nicht nach 2 Timestamps GLEICHZEITIG ordnen.
Aber das wäre noch möglich

ORDER BY Tabelle1.timestamp, Tabelle2.timestamp

Wenn jetzt in Tabelle1 2 Timestamps gleich sind, ordnet er zurätlich noch nach den Timestamps aus Tabelle2


Meinst du das?
Mit Zitat antworten
  #5 (permalink)  
Alt 28-04-2008, 19:37
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

Ich hab grad festgestellt ich keine Datensätze bekommen wenn ich folgendes mache:
Code:
SELECT * FROM tabelle1, tabelle2
oder
Code:
SELECT tabelle1.*, tabelle2.* FROM tabelle1, tabelle2
Warum? in tabelle1 sind Daten drin... tabelle2 ist leer... aber trotzdem sollten doch eigentlich die Daten aus der tabelle1 angezeigt werden oder? (Ein Fehler kommt nicht)
Mit Zitat antworten
  #6 (permalink)  
Alt 28-04-2008, 21:12
ZombieChe
 Member
Links : Onlinestatus : ZombieChe ist offline
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
ZombieChe ist zur Zeit noch ein unbeschriebenes Blatt
ZombieChe eine Nachricht über ICQ schicken
Standard

Nee, also:
PHP-Code:
SELECT FROM tabelle1tabelle2 
bewirkt einen Cross Join also das "Kreuzprodukt" aus beiden Tabellen. Das heißt, dass jeder Datensatz der einen Tabelle mit jedem anderen Datensatz der anderen Tabelle kombiniert wird. Sind in der ersten Tabelle x Datensätze und inder 2. Tabelle y Datensätze erhälst du als Ergebnis ein x*y großes Resultset. Wenn deine 2. Tabelle (y) also leer ist erhälst du genau x*0=0 Datensätze...so...

Verbinde Tabellen mit dem SQL Befehl UNION (siehe auch SQL-Docs) und fülle gegebenenfalls die 2.Tabelle mit leeren Werten auf:
PHP-Code:
SELECT id,price,timestamp,x1,x2 FROM tabelle1
UNION
SELECT id
,price,timestamp,'' AS x1'' AS x2 FROM tabelle2 
so in der Art. Ich weiß grad nicht, ob eine Sortierung über alle Datensätze gehen würde, sonst müsstest du es in einen Subselect fassen. Ausprobieren...studieren....wieder kommen wenns nicht geht...
Mit Zitat antworten
  #7 (permalink)  
Alt 28-04-2008, 23:20
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

ich hab es probiert, klingt alles logisch hab mir auch die manuel zu union angeschaut... und weil es immer ein leeres resultat ergab hab ich gedacht ok machst es erstmal ganz einfach, also so hier:

PHP-Code:
(SELECT cb_price FROM tabelle1UNION (SELECT price FROM tabelle2); 
ergebniss wieder null hab aber in jeder tabelle jetzt daten drin...

was mache ich falsch?
Mit Zitat antworten
  #8 (permalink)  
Alt 28-04-2008, 23:32
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Das ganze sieht mir recht bescheuert konzipiert aus, und das auslesen wird entsprechend frickelig. Warum erklärst du nicht einfach, was diese Tabellen genau beinhaten und überdenkst dein Konzept?
Mit Zitat antworten
  #9 (permalink)  
Alt 29-04-2008, 00:15
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

lol...

ich habe ein tabelle die nur mit daten (preis, userid, timestamp....) von clickandbuy per schnittstelle gefüttert wird in dieser tabelle will ich nicht anderes einfügen und auch nicht ändern... jetzt soll aber eine zweite tabelle per "hand" gefüttert werden (ebenfalls mit preis, userid, timestamp....) aber diese daten kommen nicht über die schnittstelle... es muss doch jetzt eine möglichkeit geben aus diesen zwei identischen tabellen eine temporäre tabelle zu machen?!

Also einen grund hats das ganze schon sonst hätte ich es ja nicht so gemacht... sondern einfach alles in diese eine tabelle fließen lassen... das will ich aber nicht, da ich die daten die über die schnittstelle kommen nicht mir den daten die per hand eingegeben werde vermischen wollte.

ok ich könnte in der tabelle der schnittstelle noch ein feld X einfügen und dort kennzeichnen ob der eintrag über die schnittstelle kommt oder nicht. aber ganau das wollte ich ja nicht.
Mit Zitat antworten
  #10 (permalink)  
Alt 29-04-2008, 08:39
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Nordin
ergebniss wieder null hab aber in jeder tabelle jetzt daten drin...
Bei der von dir genannten Abfrage erhälst du mit Sicherheit ein Resultat, wenn auch nur in einer Tabelle ein einziger Preis drin ist. Also liegt das Problem sicher wo anders.
Zeige mal den Aufbau deiner Tabellen (SHOW CREATE TABLE <tabelle>) und einen Auszug der darin enthaltenen Daten.
__________________
Gruss
H2O
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:32 Uhr.