Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak połączyć select into i union
Jabol
post 27.05.2003, 20:48:01
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


No właśnie. Tak jak w temacie, jak zrobić union/except/coś_z_tej_bajki wraz z select into. Przyznam się, że nie jest mi to do niczego potrzebne i pytam się z czystej ciekawości, ale i tak chciałbym wiedzieć.
Go to the top of the page
+Quote Post
DeyV
post 27.05.2003, 21:31:41
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




NIe wiem, jak w innych bazach, ale a MySQL 4
Cytat
6.4.1.2 UNION Syntax

Kod
SELECT ...

UNION [ALL]

SELECT ...

  [UNION

   SELECT ...]


UNION is implemented in MySQL 4.0.0.  

UNION is used to combine the result from many SELECT statements into one result set.  

The columns listed in the select_expression portion of the SELECT should have the same type. The column names used in the first SELECT query will be used as the column names for the results returned.  

The SELECT commands are normal select commands, but with the following restrictions:  

:arrow: Only the last SELECT command can have INTO OUTFILE.

If you don't use the keyword ALL for the UNION, all returned rows will be unique, as if you had done a DISTINCT for the total result set. If you specify ALL, then you will get all matching rows from all the used SELECT statements.  

If you want to use an ORDER BY for the total UNION result, you should use parentheses:  

Kod
(SELECT a FROM table_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)

UNION

(SELECT a FROM table_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10)

ORDER BY a;

więc, teoretycznie, nie powinno być z tym problemu


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Jabol
post 28.05.2003, 15:39:11
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


chodziło mi nie o zwykłys 'SELECT', ale o 'SELECT INTO', który jest bardziej podobny do 'CREATE TABLE', niż do 'SELECT'. Bo w union polecenie 'UNION' jest w hierarchi wyżej od select, czyli select jest jego dzieckiem, więc w sumie nie wiem jak by to zrobić...
Kod
SELECT cos FROM cos

UNION

SELECT cos FROM cos
To da mi wynik, a nie utworzy tabeli, a ten kod (nie wiem czy to poprawna składnia, pisze z pamięci, a uczyłem się tego już z miesiąc temu i nie używałem)
Kod
SELECT cos INTO else FROM cos

UNION

SELECT cos FROM cos
Przecież ten kod sie nie trzyma kupy... Myślę, że to się jakoś da zrobic, ale jak?
Go to the top of the page
+Quote Post
uboottd
post 30.05.2003, 21:58:07
Post #4





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Zakladam ze pytasz sie o mysql-a, jesli nie to zaznacz to gdzies wyraznie.

Co wedlug ciebie ma wspolnego SELECT ... INTO ... z CREATE TABLE ?
Ze skladni selecta:

[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]

przeca wyraznie widac ze opcja sluzy do wrzucania wynikow zapytania do pliku i do niczego wiecej.

Od jesli chodzi o stosowanie z UNION to tez juz dostales odpowiedz - INTO podaje sie w ostatnim selectcie i juz.
Go to the top of the page
+Quote Post
Jabol
post 31.05.2003, 19:06:25
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


select into tworzy nową tabelę z tego co zwróci polecenie select, tak wynika z mojej wiedzy (wiem to z paru spawdzonych źródeł).
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 01:01