Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: multiple inserts with multiple subquery - czy jest to mozliwe?
Forum PHP.pl > Forum > Bazy danych > MySQL
misty
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
luckyps
Czy tabele Z i Y sa ze soba w jakiejs relacji czy są to calkowicie niezalezne tabele ?
misty
nie sa w zaden sposob powiazane.
luckyps
Jesli nie, no to moim zdaniem nie ma szans...
misty
ale masz 100% pewnosci?
luckyps
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
misty
no i to wlasnie to! smile.gif
dzieki smile.gif)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.