|
|
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
привет! Помогите разобраться в select-ах не работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. я пытаюсь сбиться с NOT in перейдя на INNER JOIN и не получается... ЗЫ База curSelectedPCs при этом пуста, ее структура аналогична PCs. thx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 10:34 |
|
||
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
пример, показывающий, как работает иннер джоин Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 10:54 |
|
||
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
CTAC-KOпривет! Помогите разобраться в select-ах не работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. я пытаюсь сбиться с NOT in перейдя на INNER JOIN и не получается... ЗЫ База curSelectedPCs при этом пуста, ее структура аналогична PCs. thx Так ты делаешь совершенно разные запросы: Первый: объединить таблицы по условию: curSelectedPCs.PCID = PCs.PCID , наложить фильтр NOT PCs.Archived и вывести в кусор поля <список полей> Второй: из таблицы РCs иыбрать данные по условию: "PCs.PCID не встречается в наборе значений curSelectedPCs.PCID", наложить фильтр NOT PCs.Archived и вывести в кусор поля <список полей> Кроме того, при пустой базе curSelectedPCs какой может быть набор записей по условию "curSelectedPCs.PCID = PCs.PCID"? Правильно - пустой! А по условию "PCs.PCID не встречается в наборе значений curSelectedPCs.PCID"? Правильно - весь файл PCs! Надо правильно формулировать запросы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 10:57 |
|
||
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
вот от тебя-то я и ожидал ответа :) получается что иннером такого эхвекту не добицца? т.е. в твоем примере в выборке остались тока те записи, которые были в обоих базах. типа аналог если бы было IN без NOT. т.е. в моем случае сработает тока NOT IN ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 11:15 |
|
||
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
Станислав С Так ты делаешь совершенно разные запросы: Первый: объединить таблицы по условию: curSelectedPCs.PCID = PCs.PCID , наложить фильтр NOT PCs.Archived и вывести в кусор поля <список полей> Второй: из таблицы РCs иыбрать данные по условию: "PCs.PCID не встречается в наборе значений curSelectedPCs.PCID", наложить фильтр NOT PCs.Archived и вывести в кусор поля <список полей> Кроме того, при пустой базе curSelectedPCs какой может быть набор записей по условию "curSelectedPCs.PCID = PCs.PCID"? Правильно - пустой! А по условию "PCs.PCID не встречается в наборе значений curSelectedPCs.PCID"? Правильно - весь файл PCs! Надо правильно формулировать запросы...сенксь - похоже до меня доходит по-маленьку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 11:18 |
|
||
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
Добиться-то можно, только на скорость это никак не скажется. IN - проще и понятнее . Можно через EXISTS еще сделать. Если делать через JOIN, то это будет LEFT JOIN. Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. PS: А кто-то еще утверждал, что Select-SQL - это просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 11:21 |
|
||
|
почему select через in работает, а через inner join - нет?
|
|||
|---|---|---|---|
|
#18+
ВладимирМДобиться-то можно, только на скорость это никак не скажется. IN - проще и понятнее . Можно через EXISTS еще сделать. Если делать через JOIN, то это будет LEFT JOIN. Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. PS: А кто-то еще утверждал, что Select-SQL - это просто даже не знаю кто такое мог утверждать :) что до примера, приведенног Вами, то действительно мне этот IN как-то сразу по-душе пришелся и понятнее мне конструкция с ним, нежели оная из примера... а уж если такой гуру-лисовод утверждает что по скорости нет разницы - то и вовсе нет причин для беспокойств :) Всем спасибо за ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=224&tid=1590330]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 381ms |

| 0 / 0 |
