![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
И снова они. SQL запросы. [D7, MS Access ]
RustiK © (2004-02-26 12:44:00)Здраствуйте все.
Не судите строго.
Есть ворос... и три таблицы a(code, quantity) , b(code, quantity), с(code, quantity).
В a.codes храняться все возможные варианты записей. Мне нужно объединить эти таблицы так , чтобы мне показывало записи поля code и выводились бы только те, которые есть в таблице b и с. Записи b.code и a.code не идетичны и могут не совпадать по порядку.
Потом отдельно далжны выводиться a.quantity, b.quantity и с.quantity.
то есть вот так
codes a.quantity b.quantity с.quantity.
1
2
3
4
.
.
.
n
две таблици соединить смог, а вот три никак. Прошу помощи.
Sandman25+1 (2004-02-26 13:08:00) [21][13] Johnmen © (26.02.04 13:03)
То есть для CHAR у него в кодах записано '1%' и '12'? Тогда тем более нужно ставить =, чтобы не нарваться на равенство '1%','12' и '%2'.
Sandman25 забыл пароль, а потом у него родился сын и он решил добавить к старому нику единичку :)
Johnmen (2004-02-26 13:06:00) [22]>не забывайте база аксессовская
Помним. А на что это влияет ?
RustiK (2004-02-26 13:04:00) [23]не забывайте база аксессовская
Johnmen (2004-02-26 13:03:00) [24]>Sandman25+1 (26.02.04 13:00) [10]
От типа зависит выражение условия соединения.
PS А где Sandman25 © ? :)
HSolo (2004-02-26 13:01:00) [25]А Johnmen © (26.02.04 12:59) [9] ?
RustiK (2004-02-26 13:01:00) [26]нет не заработало выдает ошибку
говорит (missing operator) in query expression 'a.code like b.code LEFT OUTER JOIN c ON a.code like c.code'
Sandman25+1 (2004-02-26 13:00:00) [27][9] Johnmen © (26.02.04 12:59)
5 баллов :)
Только непонятно, что зависело от типа.
Johnmen (2004-02-26 12:59:00) [28]
SELECT a.code, a.quantity, b.quantity, c.quantity
FROM a
JOIN b ON a.code=b.code
JOIN c ON a.code=c.code
RustiK (2004-02-26 12:57:00) [29]integer
Johnmen (2004-02-26 12:53:00) [30]Какой тип a.code ?
Sandman25+1 (2004-02-26 12:51:00) [31][5] HSolo © (26.02.04 12:50)
Зачем LEFT JOIN с проверкой на существование???
HSolo (2004-02-26 12:50:00) [32]SELECT a.code, a.quantity, b.quantity, c.quantity
FROM a
LEFT OUTER JOIN b ON a.code like b.code
LEFT OUTER JOIN c ON a.code like c.code
WHERE not (b.quantity is null) and not (c.quantity is null)
Sandman25+1 (2004-02-26 12:49:00) [33]WHERE лишнее - уберите его.
like лучше заменить на =
А потом добавьте еще один INNER JOIN c ON c.code = a.code
RustiK (2004-02-26 12:46:00) [34]вот...
SELECT a.code, a.quantity, b.quantity
FROM a INNER JOIN b ON a.code like b.code
WHERE a.code like b.code;
HSolo (2004-02-26 12:45:00) [35]Как Вы соединяли 2 таблицы?
Sandman25+1 (2004-02-26 12:44:00) [36]Как 2 соединили? Код покажите.