Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Połączenie dwóch zapytań w jedno., Połączenie dwóch zapytan w jedno.
Ardo
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 16.03.2008

Ostrzeżenie: (0%)
-----


jak połączyć te dwa zapytania w jedno:

  1. $sql = "SELECT * FROM object
  2. INNER JOIN promocja
  3. ON object.obId = promocja.oglId
  4. WHERE promocja.obDateEnd BETWEEN '".$_SESSION['data_po2']."' AND '".$_SESSION['data_ko2']."'
  5. GROUP BY promocja.oglId";


z tym zapytaniem:

  1. $sql = "SELECT a.*, b.*, c.*
  2. FROM object AS a, type AS b, state AS c
  3. WHERE a.obTypeId = b.typeId AND a.obStateId = c.stateId AND a.obConfirm = '1' AND a.obDateEnd > NOW()";
Go to the top of the page
+Quote Post
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


http://pl.wikipedia.org/wiki/Operator_Union

Ale zanim zaczniesz czytać ten manual usuń gwiazdki z tych zapytań i wymień nazwy pobieranych pól
Go to the top of the page
+Quote Post
Ardo
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 16.03.2008

Ostrzeżenie: (0%)
-----


raczej UNION nie da rady, to by musialo tak wygladac ale to nie spełnia UNION bo tma pisze oba zapytania musza gnerowac taka sama ilosc kolumn, wiec to nie SPEŁNIA ZAŁOŻENIA.

więc UNION nie pasuje chyba że masz jakiś sposób na to ja jakoś tej zasady nie moge obejsc.


  1. SELECT obId, obName, obStateId, obPriceOn, obConfirm, obDateEnd, obTypeId, obCity, obRoom, obTeren, obNearby
  2. FROM object
  3. INNER JOIN promocja ON object.obId = promocja.oglId
  4. WHERE promocja.obDateEnd
  5. BETWEEN '2012-08-01'
  6. AND '2012-12-30'
  7. GROUP BY promocja.oglId
  8.  
  9. UNION
  10.  
  11. SELECT a.obId, a.obName, a.obStateId, a.obPriceOn, a.obConfirm, a.obDateEnd, a.obTypeId, a.obCity, a.obRoom, a.obTeren, a.obNearby, b.typeId,
  12. typeName, typeNameen, typeNamedo,
  13. c.stateId, c.stateName
  14. FROM object AS a, type AS b, state AS c
  15. WHERE a.obTypeId = b.typeId AND a.obStateId = c.stateId AND a.obConfirm = '1' AND a.obDateEnd > NOW()
  16.  
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  1. SELECT obId, obName, obStateId, obPriceOn, obConfirm, obDateEnd, obTypeId, obCity, obRoom, obTeren, obNearby, NULL typeId, NULL typeName, NULL typeNameen, NULL typeNamedo, NULL stateId, NULL stateName
  2. FROM object
  3. INNER JOIN promocja ON object.obId = promocja.oglId
  4. WHERE promocja.obDateEnd
  5. BETWEEN '2012-08-01'
  6. AND '2012-12-30'
  7.  
  8. UNION ALL
  9.  
  10. SELECT a.obId, a.obName, a.obStateId, a.obPriceOn, a.obConfirm, a.obDateEnd, a.obTypeId, a.obCity, a.obRoom, a.obTeren, a.obNearby, b.typeId, typeName, typeNameen, typeNamedo, c.stateId, c.stateName
  11. FROM object AS a, type AS b, state AS c
  12. WHERE a.obTypeId = b.typeId AND a.obStateId = c.stateId AND a.obConfirm = '1' AND a.obDateEnd > NOW()
Go to the top of the page
+Quote Post
Ardo
post
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 16.03.2008

Ostrzeżenie: (0%)
-----


dziki za pomoc , juz dziala
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:01