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 26-09-2002, 21:58
normbox
 Newbie
Links : Onlinestatus : normbox ist offline
Registriert seit: Apr 2002
Beiträge: 24
normbox ist zur Zeit noch ein unbeschriebenes Blatt
Post Tabellen verbinden?!

Ich möchte zwei Tabellen miteinander verbinden und die Ausgabe nach einer Abteilungsnummer (abtnr) sortieren.

Die Tabbellen ausgabe sieht zur Zeit so aus wenn ich jede Tabelle alleine aufrufe:

abttag |abtnr|abtvl| abtvk
2002-07-01|011 | |19.60
2002-07-01|013 | |16.60
2002-07-01|014 | |30.00
2002-07-01|016 | |12.50
2002-07-01|001 |3.00 |
2002-07-01|003 |12.00|
2002-07-01|005 |2.00 |
2002-07-01|015 |15.00|
2002-07-01|024 |21.00|

soll aber so aussehen

abttag |abtnr|abtvl| abtvk
2002-07-01|001 |3.00 |
2002-07-01|003 |12.00|
2002-07-01|005 |2.00 |
2002-07-01|011 | |19.60
2002-07-01|013 | |16.60
2002-07-01|014 | |30.00
2002-07-01|015 |15.00|
2002-07-01|016 | |12.50
2002-07-01|024 |21.00|

Mein jetziger Quellcode
PHP-Code:
$db_neu_querry "SELECT * FROM `$db_neu_vk`,`$db_neu_vl`
WHERE `$db_neu_vk`.`abttag` = '$tag' AND `$db_neu_vl`.`abttag` = '$tag'
ORDER BY `$db_neu_vk`.`abtnr`,`$db_neu_vl`.`abtnr` ASC"
;

$db_neu_querry2 mysql_query ($db_neu_querry
or die (
"<p><font size='2' face='Arial'><b>".mysql_error()."</b></font></p>");
while(
$row mysql_fetch_array($db_neu_querry2)) {

$neu_abttag $row['abttag'];
$neu_abtnr $row['abtnr'];
$neu_abtvl $row['abtvl'];
$neu_abtvk $row['abtvk'];

echo 
"<table border='1' cellpadding='0' cellspacing='0'>";
echo 
"<tr><td width='80' height='6' align='center' bgcolor='#FFFFFF'><font size='2' face='Arial'>$neu_abttag</font></td>";
echo 
"<td width='40' height='6' align='right' bgcolor='#FFFFFF'><font size='2' face='Arial'>$neu_abtnr</font></td>";
echo 
"<td width='60' height='6' align='right' bgcolor='#FFFFFF'><font size='2' face='Arial'>$neu_abtvl</font></td>";
echo 
"<td width='60' height='6' align='right' bgcolor='#FFFFFF'><font size='2' face='Arial'>$neu_abtvk</font></td>";
echo 
"</tr></table>";

geht so nicht!

So sieht mein Script bei der ausgabe aus...

2002-07-01 001 3.00 19.60
2002-07-01 003 12.00 19.60
2002-07-01 005 2.00 19.60
2002-07-01 015 15.00 19.60
2002-07-01 024 21.00 19.60
2002-07-01 025 1.00 19.60
2002-07-01 026 28.00 19.60
2002-07-01 027 25.00 19.60
2002-07-01 028 2.00 19.60
2002-07-01 029 28.00 19.60
2002-07-01 032 67.00 19.60
2002-07-01 033 9.00 19.60
2002-07-01 036 3.00 19.60
2002-07-01 100 101.00 19.60
2002-07-01 101 11.00 19.60
2002-07-01 102 11.00 19.60
2002-07-01 200 20.00 19.60
2002-07-01 500 4.00 19.60

Wer kann mir da weiterhelfen???
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 27-09-2002, 01:07
CHnuschti
 Member
Links : Onlinestatus : CHnuschti ist offline
Registriert seit: Feb 2002
Beiträge: 287
CHnuschti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Meiner Meinung nach kann eine solche Abfrage nicht funktionieren, aus dem Grund dass du Werte von 2 Tabellen abrufst, die eine identische Struktur haben. Das ist nicht Sinn von Datenbanken, die "gleiche" Art von Werte in verschiedenen Tabellen zu speichern.
M.E. hast du sowas wie ein Zufallsresultat. Schau dir mal das ganze Resultat $db_neu_querry2 an, dann siehst du es selber, was für ein mixed Quark da rauskommt.
In Theorie sollte ja z.B. $row['abttag'] 2 Werte haben, da die Spalten in beiden Tabellen gleich heissen.

Mach doch eine einzige Tabelle aus beiden, das kannst du dann problemlos auswerten.

mfg
Mit Zitat antworten
  #3 (permalink)  
Alt 04-10-2002, 08:32
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

dafür gibt es "UNION",

welches mySQL aber noch nicht beherscht

da mußte wohl ein Hilfskonstrukt in deiner
DB-Klasse bauen (ich hoffe du hast eine)
und dort 2 Abfragen ausführen, und dann mit PHP sortieren
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #4 (permalink)  
Alt 04-10-2002, 08:38
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.277
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Solange Du keine Verknüpfung zwischen den beiden Tabellen hast bildest Du auf jeden Fall nur ein Karthesisches Produkt ... (Jeder Datensatz der einen Tabelle mit jedem Datensatz der anderen Tabelle)

Ich würde mal der Meinung von Herrn "CHnuschti" folgen und mir gedanken über den Datenbankentwurf machen ... da scheint mir doch ... wie von CHnuschti bereits angedeutet ... einiges im Argen zu liegen!

@TBT: Klar gibt's 'ne UNION in MySQL ... allerdings erst ab 4.0.0 ... aber solange die noch kein Provider installiert hat ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #5 (permalink)  
Alt 04-10-2002, 09:33
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

@goth: 4.0.0 hat nur noch kein Provider

aber nen Fehler in der DB Struktur muß auch nicht zwingend sein. Ich habe da folgendes Konstrukt:
PHP-Code:
$nomail $this->query->union(
        
"SELECT user_id FROM user_nomail 
            WHERE nomail_from<NOW() AND nomail_to>Now() 
            AND user_id in ($touser) GROUP BY user_id"
,
        
"SELECT user_id FROM session" 
            
); 
ermittelt alle User, die derzeit eine Abwesenheitsschaltung aktiviert haben,
bzw. gerade auf dem Board unterwegs sind
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.7.0 Bootstrap 4

Formmailer v1.7.0 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

16.04.2020 arne-home | Kategorie: PHP/ Formular
Upload v1.1.0 Bootstrap

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

16.04.2020 arne-home | Kategorie: PHP/ File
Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:38 Uhr.