Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> multiple inserts with multiple subquery - czy jest to mozliwe?
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


czesc,
chcialam Was zapytac czy moge zrobic nastepujaca rzecz: chcialabym w jednym zapytaniu wstawic dane do 2ch kolumn w tabeli. Relacja miedzy nimi jest taka,
ze dla kazdej wartosci z pola 1, maja byc wstawione wszystkie mozliwe wartosci z pola 2.

czyli cos w stylu:

  1. pole 1, pole 2
  2. 1, wartosc 1
  3. 1, wartosc 2
  4. 1, wartosc 3
  5. 2, wartosc 1
  6. 2, wartosc 2
  7. 2, wartosc 3


Moje zapytanie przedstawia sie mniej wiecej nastepujaco:
  1. INSERT INTO X(field1_id, field2_id)
  2. SELECT id, (SELECT id FROM Z) FROM Y WHERE name = 'test'


czyli
  1. SELECT id FROM Y WHERE name = 'test'

zwraca mi wartosci 1 oraz 2, zas
  1. SELECT id FROM Z

zwraca mi wartosc1, wartosc2, wartosc3

oczywiscie mysql krzyczy mi ze: Subquery returns more than 1 row

i ja sie zastanawiam - czy tego nie da sie zrobic? czy moze musze jakos inaczej skonstruowac zapytanie?


pzdr,
misty
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
luckyps
post
Post #2





Grupa: Zarejestrowani
Postów: 153
Pomógł: 41
Dołączył: 28.06.2011
Skąd: Częstochowa

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


Czy tabele Z i Y sa ze soba w jakiejs relacji czy są to calkowicie niezalezne tabele ?
Go to the top of the page
+Quote Post
misty
post
Post #3





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


nie sa w zaden sposob powiazane.
Go to the top of the page
+Quote Post
luckyps
post
Post #4





Grupa: Zarejestrowani
Postów: 153
Pomógł: 41
Dołączył: 28.06.2011
Skąd: Częstochowa

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


Jesli nie, no to moim zdaniem nie ma szans...
Go to the top of the page
+Quote Post
misty
post
Post #5





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


ale masz 100% pewnosci?
Go to the top of the page
+Quote Post
luckyps
post
Post #6





Grupa: Zarejestrowani
Postów: 153
Pomógł: 41
Dołączył: 28.06.2011
Skąd: Częstochowa

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


mozna by jeszcze zrobic iloczyn kartezjanski wink.gif ale nie wiem czy o to Ci moze chodzic.
  1. INSERT INTO X(field1_id, field2_id)
  2. SELECT Z.id, Y.id FROM Z, Y WHERE Y.name = 'test'


sprawdz zapytanie przed proba zaladowania tych danych wink.gif
Go to the top of the page
+Quote Post
misty
post
Post #7





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


no i to wlasnie to! smile.gif
dzieki smile.gif)
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 Aktualny czas: 20.08.2025 - 04:39