Mam mały problem i dziwny lekko
Posiadam dane w 2 tabelach
tabela 1 | tabela 2
Lp | dane | Lp | Dane
1 | aaa | 1 | xxx
2 | bbb | 2 | xxx
3 | xxx | 3 | 111
4 | ccc | 4 | 222
dane te powinny być tak połączone by wynikiem były pary z obydwu tabel gdzie dane w wierszu zawierającym "xxx" zastępowane są przez pozostałe zawierające "xxx" (kombinacja bez powtórzeń) czyli:
aaa-111
aaa-bbb
bbb-111
i tu mam problem ponieważ gdy dane "xxx" są po jednej lub drugiej stronie to nie ma problemu ... wszystko generuje się bez najmniejszego problemu natomiast gdy są tak jak w przykładzie ... nic nie działa ... znaczy zaczyna działać i generuje przy np 10 możliwych parach 2.
oto kod:
// pierwsza strona
$pytanie_test_przyp_krympy1 = "SELECT * FROM test_przyp_krympy_1";
$rezultat_test_przyp_krympy1 = @mysql_query($pytanie_test_przyp_krympy1); {
$pytanie_test_41 = "SELECT * FROM test_import_1_tmp WHERE Kostka_1='".$wynik_test_przyp_krympy1['krimp']."'";
{
$pytanie_test_31 = "SELECT * FROM test_import_2_tmp WHERE Przewod_2='".$wynik_test_41['Przewod_1']."'";
if($wynik_test_kosc_tmp['Kostka']!=$wynik_test_31['Kostka_2'])
{
if($wynik_test_przyp_krympy1['kosc'].$wynik_test_przyp_krympy1['pin']!=$wynik_test_31['Kostka_2'].$wynik_test_31['Pin_2'])
{
echo $i.'. '.$wynik_test_przyp_krympy1['kosc'].'/'.$wynik_test_przyp_krympy1['pin'].' - '.$wynik_test_31['Kostka_2'].'/'.$wynik_test_31['Pin_2'].'<br>'; $i++;
}
}
$dane_import_2_tmp = "DELETE FROM test_import_2_tmp WHERE idtest_import_2='".$wynik_test_przyp_krympy1['id_kosc']."'";
}
}
// druga strona
$pytanie_test_przyp_krympy = "SELECT * FROM test_przyp_krympy";
$rezultat_test_przyp_krympy = @mysql_query($pytanie_test_przyp_krympy); {
$pytanie_test_21 = "SELECT * FROM test_import_2_tmp WHERE Kostka_2='".$wynik_test_przyp_krympy['krimp']."'";
{
$pytanie_test_11 = "SELECT * FROM test_import_1_tmp WHERE Przewod_1='".$wynik_test_21['Przewod_2']."'";
if($wynik_test_kosc_tmp['Kostka']!=$wynik_test_11['Kostka_1'])
{
if($wynik_test_przyp_krympy['kosc'].$wynik_test_przyp_krympy['pin']!=$wynik_test_11['Kostka_1'].$wynik_test_11['Pin_1'])
{
echo $i.'. '.$wynik_test_przyp_krympy['kosc'].'/'.$wynik_test_przyp_krympy['pin'].' - '.$wynik_test_11['Kostka_1'].'/'.$wynik_test_11['Pin_1'].'<br>'; $i++;
}
}
$dane_import_1_tmp = "DELETE FROM test_import_1_tmp WHERE idtest_import_1='".$wynik_test_przyp_krympy['id_kosc']."'";
}
}
Pomyślałem że zrobię to w jednym kroku ale ... nie działa. Zrobiłem to w dwóch krokach ... też nie działa. w tabeli "test_przyp_krympy" która startuje jako pierwsza dodałem kolumnę która rozróżnia po której stronie jest niewiadoma ... też nie pomogło. Rozbiłem dane z tabeli "test_przyp_krympy" na dwie tabele niezależne dla jednej i drugiej tabeli źródłowej ... też nie pomogło
Ponieważ dane źródłowe są importowane z pliku tekstowego więc mógłbym je poukładać tak by dane "xxx" były po jednej stronie ale niestety nie mogę tego zrobić. To powinno zadziałać właśnie w takiej ... mieszanej formie.
Powiedzcie mi co mogę z tym zrobić lub co robię źle