php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.04.2006, 15:19  
Neuer Benutzer
 
Registriert seit: 20.02.2006
Beiträge: 20
CIMM
Standard mehrere Abfragen (Selects) verbinden????

Hallo,

vielleicht stelle ich mich etwas dusselig an, aber ich komme nicht so recht weiter.

Folgendes:
Ich habe 2 Abfragen.
1 Abfrage spiegelt mir die Gesamtanzahl der Datensätze pro Kopf und die andere Abfrage spiegelt mir die offenen (noch nicht bearbeitet) Datensätze pro Kopf wieder.

Ich möchte nun in einer Abfrage die Anzahl der gesamten Datensätze und die Anzahl der offenen Datensätze anzeigen lassen.

Wie kann ich diese Abfragen verbinden?
Mein Ansatz funktioniert leider nicht, weil keine Ergebnisse ausgegeben werden("kein Ergebnis möglich"). In den beiden Abfragen jeweils einzeln-werden aber Ergebnisse ausgegeben.

Code:
$sql="sqlGesamt.*, sqlOffen.*
FROM $sqlGesamt LEFT JOIN $sqlOffen 
ON sqlGesamt.MIT_ID=sqlOffen.MIT_ID"
or die("Abfrage löppt nicht"); 

$result = mysql_query($sql)or die("kein Ergebnis möglich");
Ich hoffe, ich habe mich verständlich ausgedrückt(daran hapert es noch manchmal).

Vielen Dank Cimm
__________________
Eine Köchin kann erst dann gut kochen, wenn sie mit den Zutaten, die sie im Schrank hat ein Menü zaubert, dass alle glücklich macht.
CIMM ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.04.2006, 16:27  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Was soll der Scheiss?

- wo ist dein SELECT
- was soll "string" or die() bringen?
Zergling-new ist offline   Mit Zitat antworten
Alt 24.04.2006, 16:44  
Neuer Benutzer
 
Registriert seit: 20.02.2006
Beiträge: 20
CIMM
Standard

Sorry,

das ist wirklich 'scheibenkleister' - so ganz ohne Select . . . .
Code:
$sql="SELECT sqlGesamt.*,sqlOffen.*
FROM $sqlGesamt LEFT JOIN $sqlOffen 
ON sqlGesamt.MIT_ID=sqlOffen.MIT_ID"
or die("Abfrage löppt nicht"); 

$result = mysql_query($sql)or die("kein Ergebnis möglich");
Zitat:
- was soll "string" or die() bringen?
Das soll mir helfen, Fehler aufzudecken. . . .

Leider ändert mein Select aber nichts an der Tatsache, dass das trotzdem nicht funktioniert und ich leider wirklich nicht die geringste Ahnung davon habe, wie ich 2 Abfragen zusammen bringe.

Danke CIMM
__________________
Eine Köchin kann erst dann gut kochen, wenn sie mit den Zutaten, die sie im Schrank hat ein Menü zaubert, dass alle glücklich macht.
CIMM ist offline   Mit Zitat antworten
Alt 24.04.2006, 16:48  
Gast
 
Beiträge: n/a
Standard

Zitat:
Das soll mir helfen, Fehler aufzudecken. . . .
Aber an der Stelle ist das einfach Quatsch.
$a = "xyz" or die("Abfrage löppt nicht");
Was soll das bewirken? Wie funktioniert or und wann wird also das die(...) ausgelöst?

Tritt denn ein Fehler auf? Wenn ja, welcher?
PHP-Code:
$result mysql_query($sql)or die(mysql_error().': '.$sql); 
  Mit Zitat antworten
Alt 24.04.2006, 16:57  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Bruchpilot
Was soll das bewirken? Wie funktioniert or und wann wird also das die(...) ausgelöst?
Ich helf mal 1. Fehler aufdecken. 2. in dem konkreten Fall: Ist das davor Boolean:FALSE, wird das danach ausgeführt. 2.b. nie, da davor nie FALSE rauskommt.
mepeisen ist offline   Mit Zitat antworten
Alt 24.04.2006, 17:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Die Fragen sind doch:
- wie sieht $sql aus, wenn du es an mysql_query() übergibst?
- wo steht die Information, wieviele (offene) Datensätze es pro Kopf gibt - in einer Zelle, ist das die Zeilenanzahl, hat jede Zeile einen Flag ob es offen ist und wem sie zugeordnet ist...
Zergling-new ist offline   Mit Zitat antworten
Alt 24.04.2006, 17:14  
Neuer Benutzer
 
Registriert seit: 20.02.2006
Beiträge: 20
CIMM
Standard

habe gleich mein or die geändert. Ist auch logisch und ich bekomme die Fehlermeldung, dass an meiner Syntax etwas nicht stimmt (das weiß ich ja auch).

Zum nachvollziehen einmal die Abfragen, die vorweg laufen sollen:

Code:
//Abfrage selektiert DS je Mitarbeiter
$sqlGesamt="SELECT Count(t_kuendigung.KVNR) AnzahlGesamt,t_kuendigung.MITARBEITER AS MIT_ID1,t_kat_mitarbeiter.NAME AS MITARB,t_kat_mitarbeiter.VORNAME,t_kuendigung.BEARBEITUNG_GST AS BEARB_GST1
FROM $table INNER JOIN $tableM 
ON t_kuendigung.MITARBEITER=t_kat_mitarbeiter.ID_MIT
WHERE TO_DAYS(NOW())-TO_DAYS(t_kuendigung.EINGABEDAT)< 50
	AND t_kuendigung.VARI='A/B'
	Group BY t_kat_mitarbeiter.NAME" or die("Abfrage gesamt löppt nicht");
$resultGesamt = mysql_query($sqlGesamt)or die(mysql_error().': '.$sql); 

//Abfrage selektiert offene DS je Mitarbeiter	 
$sqlOffen="SELECT Count(t_kuendigung.KVNR) AnzahlOffen,t_kuendigung.MITARBEITER AS MIT_ID2,t_kat_mitarbeiter.NAME,t_kat_mitarbeiter.VORNAME,t_kuendigung.BEARBEITUNG_GST AS BEARB_GST2
FROM $table INNER JOIN $tableM 
ON t_kuendigung.MITARBEITER=t_kat_mitarbeiter.ID_MIT
WHERE TO_DAYS(NOW())-TO_DAYS(t_kuendigung.EINGABEDAT)< 50
	AND t_kuendigung.BEARBEITUNGSERGEB='in Bearbeitung'
	OR t_kuendigung.BEARBEITUNGSERGEB is null
	Group BY t_kat_mitarbeiter.NAME" or die("Abfrage offen löppt nicht"); 
$resultOffen = mysql_query($sqlOffen)or die(mysql_error().': '.$sql); 

//Abfrage gesamt und offene DS je Mitarbeiter
$sql="SELECT sqlGesamt.*,sqlOffen.*
FROM $sqlGesamt LEFT JOIN $sqlOffen 
ON MIT_ID1=MIT_ID2"
or die("Abfrage löppt nicht"); 

$result = mysql_query($sql)or die(mysql_error().': '.$sql);
Gruß Cimm
__________________
Eine Köchin kann erst dann gut kochen, wenn sie mit den Zutaten, die sie im Schrank hat ein Menü zaubert, dass alle glücklich macht.
CIMM ist offline   Mit Zitat antworten
Alt 24.04.2006, 17:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

das beantwortet keine meiner Fragen
Zergling-new ist offline   Mit Zitat antworten
Alt 25.04.2006, 09:41  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Zergling
- was soll "string" or die() bringen?
Sag mal hast du dir das mal durchgelesen ..

was bringt das ???

PHP-Code:
<?php
$sql
="SELECT bla FROM tabelle" or die(); // ??!??! *huhäää* wass geht ?
?>
M3g4Star ist offline   Mit Zitat antworten
Alt 25.04.2006, 16:48  
Neuer Benutzer
 
Registriert seit: 20.02.2006
Beiträge: 20
CIMM
Standard

Hmmh, . . .

Also ich habe nun meine "or die ()" entfernt.
Aber letztendlich spielen die bei meinem Problem gar keine Rolle.

Ich möchte doch nur wissen, wie ich die beiden Abfragen verbinden kann
Nach dem Motto:
Code:
$sql="SELECT alles aus Abfrage1(z. B. $sqlGESAMT)  und alles aus Abfrage2 (z. B. $sqlOffen) FROM Abfrage1 Left Join Abfrage2 ON ID1=ID2";
Ganz normal in SQL würde das so aussehen:

SELECT [Abfrage1].MITARB, [Abfrage1].[Anzahl von NR] AS Gesamt, [Abfrage2].[Anzahl von NR] AS Offen
FROM [Abfrage1] LEFT JOIN [Abfrage2]
ON [Abfrage1].MITARB=[Abfrage2].MITARB;

Und genau das möchte ich irgenwie in mysql hinbekommen (Unabhängig von OR DIE())-vielleicht sollte das mein neuer Name werden . . . :wink:

Ich hab' schon ein schlechtes Gewissen, weil ich DAS (or die) einfach so benutzt habe . . . - aber wenn man so total null Ahnung hat und anfängt loszulegen, stoppt wenigstens alles an der Stelle, wo nix mehr geht und man hat eine ungefähre Ahnung, wo man nach einem Fehler suchen kann.
Das war zumindest mal meine Intention dafür.

Gruß CIMM
__________________
Eine Köchin kann erst dann gut kochen, wenn sie mit den Zutaten, die sie im Schrank hat ein Menü zaubert, dass alle glücklich macht.
CIMM ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PDO und parallele Abfragen Normalo PHP Tipps 2008 1 09.06.2008 12:39
PHP bzw. mysql abfragen optimieren Kori Datenbanken 3 26.09.2007 21:02
nur x Prozent meiner Datenbankdatensätze abfragen ajo_silent PHP-Fortgeschrittene 4 26.04.2006 09:36
Datentyp abfragen PHP Tipps 2006 7 24.02.2006 15:53
[Erledigt] 204 077 15-4 in DB mit WHERE als 204077154 abfragen Datenbanken 6 24.01.2006 11:47
PEAR Spreadsheet_Excel_Writer Zellen verbinden PHP Tipps 2005-2 1 30.09.2005 20:49
Suche Script zum Abfragen von Inhalten einer anderen Seite Beitragsarchiv 7 26.09.2005 19:21
[Erledigt] Dateiendung abfragen PHP Tipps 2005-2 6 18.08.2005 17:11
MySQL - mehrere tabellen verbinden freitz PHP Tipps 2005-2 1 02.07.2005 15:44
2 count Abfragen PHP Tipps 2005-2 1 20.06.2005 14:24
2 Tabellen abfragen und dann variable unterschiedlich setzen Anuschka PHP Tipps 2004-2 2 22.12.2004 02:46
Mehrere Abfragen gleichzeitig ausführen Neo2k3 Datenbanken 2 06.10.2004 21:47
zeilen umbruch abfragen PHP Tipps 2004 1 24.09.2004 17:39
MySQL - Abfragen verbinden Anuschka Datenbanken 4 20.08.2004 11:37
select abfragen PHP Tipps 2004 5 12.07.2004 10:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql 2 selects verbinden, mysql zwei selects verbinden, sql mehrere abfragen, sql abfragen verbinden, 2 sql abfragen verbinden, zwei select verbinden, sql zwei abfragen verbinden, sql ergebnisse verbinden, zwei select abfragen verbinden, sql 2 selects verbinden, sql 2 abfragen verbinden, sql select verbinden, zwei sql abfragen verbinden, mehrere sql abfragen, sql selects verbinden, sql zwei selects verbinden, selects verbinden, 2 selects verbinden, sql 2 select verbinden, sql 2 abfragen in einer

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.