Форум: "Базы";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
ВнизПомогите с SQL Найти похожие ветки
← →
progger (2002-08-23 15:56) [0]Добрый день, ув. знатоки, не могли бы вы мне помочь, дело в том, что я делаю запрос SQL:
select "sub1.db".TDate,
"sub2.db".TDate,
"sub2".TWhat
from "sub1.db",
"sub2.db"
where "sub1.db".Conf="sub2.db".Conf
а оно мне выдает декартово произведение этих двух таблиц, хотя кол-во строк в каждой из них одинаково.
Заранее благодарен.
← →
Val (2002-08-23 15:58) [1]крайне странно, что есть conf?
← →
progger (2002-08-23 16:01) [2]Conf - это поле, по которому отбираются данные
← →
Reindeer Moss Eater (2002-08-23 16:04) [3]Если все поля Conf содержат одно значение, то произведение обеспечено.
← →
Johnmen (2002-08-23 16:04) [4]поподробней про conf и стр-ру таблиц...
← →
progger (2002-08-23 16:17) [5]вообщем conf - это допущен ли студент к контрольной
TDate - дата, когда был выставлен балл
Twhat - За какой вид работы балл
sub1.db - один предмет, напр. Математика
sub3.db - другой предмет, напр. Физика
Кол-во строк в обеих таблицах одинаково, но количество дат - разное, вообщем "до отказа" заполнено только поле conf, и мне нужно сединить эти две таблицы так, чтобы не было произведения...
← →
Reindeer Moss Eater (2002-08-23 16:25) [6]А смысл объединения по полю "допущен ли студент к контрольной" ??????????
← →
Val (2002-08-23 16:27) [7]естественно, вам нужно изменить условие, но существует недостаток информации - как именно соединять таблицы, кто туда должен попасть? сформулируйте задачу конкретнее.
← →
Reindeer Moss Eater (2002-08-23 16:31) [8]Reindeer Moss Eater (23.08.02 16:04)
Если все поля Conf содержат одно значение, то произведение обеспечено.
← →
progger (2002-08-23 16:45) [9]Ладно, сформулирую вопрос конкретнее:
есть две(или более) таблицы, с одинаковым кол-вом строк. Необходимо объединить их с помощью запроса SQL так, чтобы результат не был декартовым произведением этих таблиц.
Помогите, пожалуйста - очень надо...
← →
Reindeer Moss Eater (2002-08-23 16:46) [10]Не объединяй таблицы по полю "допущен ли студент к контрольной"
← →
Val (2002-08-23 16:59) [11]..и количество строк здесь не причем.
а задачу все-таки постарайся сформулировать, а то получается надо сделать хоть что-то, чтоб фигня не получилась :)
← →
progger (2002-08-23 17:02) [12]ну в принципе это главное - шоб не было фигни. Две таблицы с сопоставимыми типами поле нужно объединить в Query. Как???
← →
Reindeer Moss Eater (2002-08-23 17:08) [13]Ты же объединил уже, что именно тебе не нравится? :)
← →
progger (2002-08-23 18:16) [14]мне не нравится, что результат объединения - произведение этих таблиц
← →
Hro (2002-08-23 23:47) [15]Может точно скажешь что те надо, а мы тут обмозгуем.
← →
ЮЮ (2002-08-24 07:21) [16]where "sub1.db".StudID="sub2.db".StudID,
где StudID - уникальный индекс студента, который, надеюсь :-), есть в обеих таблицах
← →
MsGuns (2002-08-24 19:02) [17]Можно, наверное, это сделать одним запросом (я не экстраверт в секюэле), но я такие вещи решаю в несколько последовательных шагов с сохранением промежуточных рез-тов для использования в следующем шаге.
← →
Vlad1 (2002-08-25 13:32) [18]Попробуй:
select TDate,
TWhat
from "sub1.db",
"sub2.db"
where "sub1.db".Conf="sub2.db".Conf
← →
Чудак (2002-08-26 05:35) [19]Попробуй использовать параметры компонента Query типа если например у тебя главная база ("Sub1.db" и Query1), а вспомогательная ("Sub2.db" и Query2) то задай для Query2 св-во DataSource = Query1. И значение SQL напиши приблизительно так:
"select (нужные поля) from sub2 where conf=:conf"
и в св-ве Param компонента Query в редакторе должен быть этот параметр.
Гарантию что сработает не дам (так как сам недавно начал сукелем заниматься), но попробуй может получится.
Если получиться то скажи получилось ли.
← →
ЮЮ (2002-08-26 06:04) [20]Vlad1 © (25.08.02 13:32)
Чудак (26.08.02 05:35)
Прежде чем советовать, особенно, когда "сам недавно начал сукелем заниматься", посмотрите, что пишет Автор:
progger © (23.08.02 16:17)
вообщем conf - это допущен ли студент к контрольной
т.о. conf - вовсе не то поле, по которой следует связывать две таблицы.
← →
Reindeer Moss Eater (2002-08-26 08:31) [21]>ЮЮ Да то это поле! :)))
Автор просто хочет получить список всех возможных комбинаций из 2 студентов, допущенных к экзаменам. В каждой паре у него один допущен к одному, а другой - к другому экзамену.
← →
ЮЮ (2002-08-26 08:59) [22]>Reindeer Moss Eater (26.08.02 08:31)
У автора: where "sub1.db".Conf="sub2.db".Conf
Следовательно, он хочет попарно объединить "допущен"-"допущен" и "недопущен"-"недопущен". Тогда уж лучше объединять "допущен"-"недопущен", чтобы "допущенный" помог "недопущенному" получить допуск :-)
← →
Reindeer Moss Eater (2002-08-26 09:01) [23]>ЮЮ
Не обязательно, "не допущен" это вполне может быть NULL. Хотя твоя идея очень мне понравилась :)
← →
ЮЮ (2002-08-26 09:10) [24]>Не обязательно, "не допущен" это вполне может быть NULL
Вряд ли он будет допущен, если он круглый NULL :-). К тому же у автора "вообщем "до отказа" заполнено только поле conf" . Может в этом и причина отказа? :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c