| Forum: SQL | 
																Thema: 
																	AW: AW: AW: Abfrage mehrere Zeilen mit nur einem Ergebnis | 
																	Von: 
																		Guido Nachtigall (
																	27.11.2006 12:00) | 
													
												
            
		Klar :
javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$LeftSide$LinkButton1", "", true, "Posting", "", false, true))
speichern
CREATE PROCEDURE TopCustomer (OUT TopCompany CHAR(35), OUT TopValue INT)
BEGIN
   DECLARE err_notfound EXCEPTION
   FOR SQLSTATE '02000';
   DECLARE curThisCust CURSOR FOR
      SELECT company_name,
          CAST(sum(sales_order_items.quantity *
          product.unit_price) AS INTEGER) VALUE
      FROM customer
      LEFT OUTER JOIN sales_order
      LEFT OUTER JOIN sales_order_items
      LEFT OUTER JOIN product
      GROUP BY company_name;
   DECLARE ThisValue INT;
   DECLARE ThisCompany CHAR(35);
   SET TopValue = 0;
   OPEN curThisCust;
   CustomerLoop:
   LOOP
      FETCH NEXT curThisCust
      INTO ThisCompany, ThisValue;
      IF SQLSTATE = err_notfound THEN
         LEAVE CustomerLoop;
      END IF;
      IF ThisValue > TopValue THEN
         SET TopValue = ThisValue;
         SET TopCompany = ThisCompany;
         END IF;
   END LOOP CustomerLoop;
   CLOSE curThisCust;
END
Grüße Guido
	
	
													
												
            
														
		
			| 
																	
																		| Betreff | Von | Datum |  
			|  |  
									|  | Martin
											Mostögl | 27.11.2006 12:18 |  
			|  |  
									|  | M
											Merlin | 29.11.2006 10:13 |  
			|  |  
									|  | Guido
											Nachtigall | 29.11.2006 10:32 |  
			|  |  
									| 
											
												|   | AW: AW: AW: AW: AW: AW: Abfrage mehrere Zeilen... 
														
															
																| OK. Danke...<br>Ich hätte da aber noch eine spezielle Frage..!<br><br>z.B. Ich habe ein Select, in der ich mehrere Datensätze zurückbekomme. Ich möchte nun solange eine Schleife durchlaufen, wie ich... |  |  
																|  |  |  |  | M
											Merlin | 29.11.2006 12:34 |  
			|  |  
									| 
											
												|   | AW: AW: AW: AW: AW: AW: AW: Abfrage mehrere... 
														
															
																| Hallo, Merlin
Mit dem Fetch kannst du die Felder deines Selects in eine Variable packen.
Wenn eines dieser Felder oder mehrere den entsprechenden Wert haben, kannst du mit ein Insert zusammenbasteln,... |  |  
																|  |  |  |  | Guido
											Nachtigall | 29.11.2006 12:44 |  
			|  |  
									| 
											
												|   | AW: AW: AW: AW: AW: AW: AW: AW: Abfrage... 
														
															
																| Das hab ich soweit verstanden....<br>Aber wie kann ich eine "Loop"-Anweisung definieren?<br>Wie kann ich nach bestimmten bedingungen die Loop-Anweisung beenden...etc.<br>Hast du da evtl. noch mal nen Link,... |  |  
																|  |  |  |  | M
											Merlin | 29.11.2006 16:29 |  
			|  |  
									| 
											
												|   | AW: AW: AW: AW: AW: AW: AW: AW: AW:... 
														
															
																| Ein Beispiel:
declare
  v_summe        number := 0;
  v_pos_preis    number;
  cursor c_auftrag_pos is
    select anzahl*preis from auftrag_pos;
begin
  OPEN c_auftrag_pos;
  loop --> beginnt... |  |  
																|  |  |  |  | Guido
											Nachtigall | 30.11.2006 08:03 |  
			|  |  
									|  | M
											Merlin | 30.11.2006 11:45 |  
			|  |  | 
	
							Antworten
							
							
							Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!