|
|
|
Помогите с SELECT SQL
|
|||
|---|---|---|---|
|
#18+
Итак есть 3 базы 1) JudgeCaseTypes, поля в нем: CaseType 2) CaseTypes, поля в нем: code (значение из которого ставилось в JudgeCaseTypes.CaseType) Name CategCode 3) CaseCategories, поля в нем: code (значение из которого ставилось в CaseTypes.CategCode) CharCode Нужно такой SELECT чтобы он выбрал из базы JudgeCaseTypes все записи, +по соответствию поля JudgeCaseTypes.CaseType=CaseTypes.code выбрать в этот селект поле Name из CaseTypes, И!!! по соответствию значения уже CaseTypes.CategCode=CaseCategories.code выбрать туда же поле CharCode из базы CaseCategories Так я делал и оно не работает - выбирает 0 записей: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Так записи выбирает как положено, но нет в результирующей выборке необходимого CaseCategories.CharCode Код: plaintext 1. 2. 3. 4. 5. 6. Или тут только 2 SELECT-а помогут? VFox.9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 22:11 |
|
||
|
Помогите с SELECT SQL
|
|||
|---|---|---|---|
|
#18+
Hi CTAC-KO! Тут замечательно помогло бы чтение хелпа. SELECT ; JudgeCaseTypes.CaseType, ; CaseTypes.Name as CaseTypeName, ; CaseTypes.CategCode as CategCode, ; CaseCategories.CharCode ; FROM JudgeCaseTypes ; INNER JOIN CaseTypes ; ON CaseTypes.code = JudgeCaseTypes.CaseType ; INNER JOIN CaseCategories ; ON CaseCategories.Code = CaseTypes.CategCode INTO CURSOR curJudgeCaseTypes Впрочем твой первый запрос тоже должен работать - возможно что поля всё-же не "одинаковы" - это бывает, если поля символьные и ввод идёт "руками" а не через формы где предоставляется выбор через комбо или иные средства... Также возможно (хотя и маловероятно) что накрылись индексы (тогда запросы могут отрабатывать некорректно) - т.е. прежде всего переиндексируф таблицы. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2006, 02:53 |
|
||
|
Помогите с SELECT SQL
|
|||
|---|---|---|---|
|
#18+
Спасибо - предложенной строкой все выбирается как положено. По поводу INNER JOIN - я хелп читал, но врубиться так и не смог ЧТО и КАК оно делает. Т.е. вот я во втором примере втулил INNER JOIN - но без результата. Опять же я в случае со своим INNER JOIN еще впаял WHERE JudgeCaseTypes.CaseType=CaseTypes.code относительно баз JudgeCaseTypes и CaseTypes, чего, я так понял, делать не следовало... И уж тем более мне не вдомек почему нужны 2 INNER JOIN-а и при этом все выбрается так, как если бы присутствовало условие WHERE JudgeCaseTypes.CaseType=CaseTypes.code... По поводу ввода ручками - нет, все выставляется через формы с помощью комбо и поля одинаковые в обоих базах, а вообще, говоря именно о CaseTypes.CategCode, то его вставляет прога беря соотв. значение из CaseCategories.Code, что незаметно для юзера вообще, а CaseCategories.Code - это Integer AutoIncrement и CaseTypes.CategCode это просто Integer. Индексов нету вообще ни у одной базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2006, 10:45 |
|
||
|
Помогите с SELECT SQL
|
|||
|---|---|---|---|
|
#18+
Hi CTAC-KO! > По поводу INNER JOIN - я хелп читал, но врубиться так и не смог ЧТО и КАК > оно делает. Попробуй поискать книжку Дейта по основам реляционных СУБД - IMHO очень доступно описаны даже самые сложные вопросы. Ну или просто на этом сайте почитай материалы по SQL - эта часть (JOIN) не "уникальна" для фокса - это общий синтаксис множества СУБД. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 02:04 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=246&tid=1591228]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 318ms |

| 0 / 0 |
