|
|
|
| есть 2 таблицы:
tb1
-------------
id | type |
-------------
1 | tb1_1 |
-------------
2 | tb1_2 |
-------------
tb2
-------------
id | type |
-------------
1 | tb2_1 |
-------------
2 | tb2_2 |
-------------
нужно что бы на страницу вышло следующее:
<table>
<tr><td>tb1_1</td><td>tb2_1</td></tr>
<tr><td>tb1_2</td><td>tb2_2</td></tr>
<table>
сам запрос полагаю может выглядеть так:
$sql = mysql_query("SELECT tb1.type AS t1, tb2.type AS t2 FROM tb1 LEFT JOIN tb2 ");
echo'<table>';
while($w = mysql_fetch_array($sql)){
echo "<tr><td>".$w['t1']."</td><td>".$w['t2']."</td></tr>";
}
echo'</table>';
но не работает
помогите пожалуйста с решением даной проблемы. | |
|
|
|
|
|
|
|
для: kukurikan
(10.08.2009 в 23:25)
| |
здесь Вы явно не дописали условие. | |
|
|
|
|
|
|
|
для: kukurikan
(10.08.2009 в 23:25)
| | хорошо, немного перепишем, но все равно не работает
$sql = mysql_query("SELECT tb1.id AS tb1_id, tb1.type AS type1, tb2.id AS tb2_id, tb2.type AS type2 FROM tb1 LEFT JOIN tb2 ON tb1_id = tb2_id");
echo'<table>';
while($w = mysql_fetch_array($sql)){
echo "<tr><td>".$w['type1']."</td><td>".$w['type2']."</td></tr>";
}
|
| |
|
|
|
|
|
|
|
для: kukurikan
(11.08.2009 в 00:10)
| | В phpMyAdmin запрос пробовали выполнять?
Ссылаться на алиасы раздела SELECT из раздела ON - негуманно.
Выражения в SELECT выполняются позже, чем выражения в ON
Лучше указать там явные поля. | |
|
|
|
|
|
|
|
для: Trianon
(11.08.2009 в 00:13)
| | а можно немного поподробнее ? | |
|
|
|
|
|
|
|
для: kukurikan
(11.08.2009 в 00:19)
| |
таких полей у Вас нет! не используйте алиасы в подобных местах | |
|
|
|
|
|
|
|
для: kukurikan
(11.08.2009 в 00:19)
| | >>В phpMyAdmin запрос пробовали выполнять?
Что здесь непонятно? | |
|
|
|
|
|
|
|
для: Trianon
(11.08.2009 в 00:41)
| | нет не пробовал, но у меня получилось вот так :
$sql = mysql_query("SELECT tb1.id AS tb1_id, tb1.type AS type1, tb2.id AS tb2_id, tb2.type AS type2 FROM tb1 LEFT JOIN tb2 ON tb1.id = tb2.id");
|
и выборка происходит как мне нужно:
потому как у всех ключи одинаковые(сходяться)
но если я поменяю ключ для ячейки a1 тоесть вместо 1 поставим 4, тогда:
NULL | b1
a2 | b2
a3 | b3
|
тоесть нужно сделать выборку независимо от совместимости ключей. тоесть как то сортировать ? но как ? | |
|
|
|
|
|
|
|
для: kukurikan
(11.08.2009 в 01:21)
| | >нет не пробовал,
зря. искать одновременно ошибки и в SQL и в php - занятие малоприятное.
>но у меня получилось вот так :
>$sql = mysql_query("SELECT tb1.id AS tb1_id, tb1.type AS type1, tb2.id AS tb2_id, tb2.type AS type2 FROM tb1 LEFT JOIN tb2 ON tb1.id = tb2.id");
не надо вытягивать код в одну строку.
Он в окне не умещается.
>но если я поменяю ключ для ячейки a1 тоесть вместо 1 поставим 4, тогда:
>
>
>
>NULL | b1
> a2 | b2
> a3 | b3
>
>
|
>
>тоесть нужно сделать выборку независимо от совместимости ключей. тоесть как то сортировать ? но как ?
А какой отклик Вы ожидаете? | |
|
|
|
|
|
|
|
для: Trianon
(11.08.2009 в 01:26)
| | в таблице tb1 и tb2 лежат записи:
table: tb1 table: tb2
-------------------- --------------------
id | type | id | type |
-------------------- --------------------
1 | tb1_1 | 1 | tb2_1 |
-------------------- --------------------
2 | tb1_2 | 2 | tb2_2 |
-------------------- --------------------
|
при запросе:
$sql = mysql_query("SELECT tb1.id AS tb1_id, tb1.type AS type1,
tb2.id AS tb2_id, tb2.type AS type2
FROM tb1 LEFT JOIN tb2
ON tb1.id = tb2.id");
|
происходит нужный вывод:
но при удалении из таблицы tb2 записи с ключом 1, и затем добавление другой записи, ключ будет другой:
table: tb1 table: tb2
-------------------- --------------------
id | type | id | type |
-------------------- --------------------
1 | tb1_2 | 2 | tb2_1 |
-------------------- --------------------
2 | tb1_3 | 3 | tb2_2 |
-------------------- --------------------
|
после этого запрос:
$sql = mysql_query("SELECT tb1.id AS tb1_id, tb1.type AS type1,
tb2.id AS tb2_id, tb2.type AS type2
FROM tb1 LEFT JOIN tb2
ON tb1.id = tb2.id");
|
вернет:
тоесть мне важен запрос при котором выводиться будет все со смещением вверх по ключам тоесть
если удалился ключ 1 в таблице tb2 и вместо него вверх встал ключ 2,
table: tb1 table: tb2
-------------------- --------------------
id | type | id | type |
-------------------- --------------------
1 | tb1_2 | 2 | tb2_2 |
-------------------- --------------------
2 | tb1_3 | 3 | tb2_3 |
-------------------- --------------------
|
то и вывод необходим соответствено:
| |
|
|
|