Member 11089603 Ответов: 1

Нужна помощь в PHP/oracle


Всем привет,

Мне нужна помощь с нижеприведенным кодом -

У меня есть 2 таблицы - а и Б

А | Б
====================
1 | 1
2 | 2
3 | 3

Все, что мне нужно, это строка(1) из таблицы а должна быть разрешена для слияния со строкой(2) и строкой(3) в таблице b, точно так же строка таблицы(2) должна быть разрешена для слияния со строкой(1) и строкой(3) таблицы B и строка таблицы(3) должны быть разрешены для слияния со строкой(1) и строкой(2) таблицы B.
[это всего лишь пример]

Что я уже пробовал:

Я пытался использовать

$array = массив('1=>1','2=>2','3=>');
$query ="select A from table where B='".$T." ' union all select B from table where A='".$T."'";
$stid = oci_parse($conn,$query);
$row = oci_execute($stid);
$строки = oci_fetch_row($Стид);
$oci_free_statement($Стид);

Я не могу быть уверен, Нужно ли нам использовать slice/intersect/subset.
Я пытался отсортировать это с помощью OCI_bind_by_array, но не пошел, я потратил 3 дня, но не смог найти решение.

Richard Deeming

Каков ожидаемый результат? Вы просто ищете кросс-продукт этих двух таблиц?

Member 11089603

Да, я ищу перекрестное произведение двух таблиц..
что-то вроде

строка(1) из таблицы а должна быть разрешена для слияния со строкой(2) и строкой(3) в таблице b, аналогично строка таблицы(2) должна быть разрешена для слияния со строкой(1) и строкой(3) таблицы B и строка таблицы(3) должны быть разрешены для слияния со строкой(1) и строкой(2) таблицы B.

1 Ответов

Рейтинг:
0

Richard Deeming

Это звучит так, как будто вы ищете оператор перекрестного соединения[^].

SELECT * FROM A CROSS JOIN B

Это позволит произвести векторное произведение двух таблиц:
A | B
=====
1 | 1
1 | 2
1 | 3
2 | 1
2 | 2
2 | 3
3 | 1
3 | 2
3 | 3