|
Подзапросы
|
|||
---|---|---|---|
#18+
Необходимо сделать Код: plaintext 1. 2.
Не работает. Насколько я понял (разубедите меня), в MySQL запрещены подзапросы во FROM... Если делать не подзапрос, а просто Код: plaintext 1. 2. 3.
,то в итоговый запрос не попадают строки a и b, которым нет соответствующих значений в c (так как после пересечения key3=NULL) Как можно выкрутиться из этой ситуации? Не хочется пересекать a и b, а потом делать отдельный запрос для каждой строки... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 10:05 |
|
Подзапросы
|
|||
---|---|---|---|
#18+
Второй вариант можно сделать как Код: plaintext 1. 2. 3.
Правильно? А первый вариант нереализуем? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 10:31 |
|
Подзапросы
|
|||
---|---|---|---|
#18+
1) У тебя, наверное, опечатка - нет " * FROM " между select и a . Далее 2) Подзапросы вообще появились только с версии 4.1 (тут тебя никто не будет разубеждать) 3) Если используешь WHERE c.key3=$var3 , то естественно в результат не попадут записи где c.key3<>$var3 , а будут например NULL Поэтому первый вариант не пройдет. Второй вариант более соответствуeт твоим ожиданиям. Могу подкинуть третий: Код: plaintext 1.
Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 11:21 |
|
|
start [/forum/topic.php?fid=47&msg=32503893&tid=1855197]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 415ms |
0 / 0 |