Как сделать так, чтобы записи без ключей отображались в запросе доступа

ОБНОВЛЕНО на основе комментария ...

Первый код (ISIN) является основным, а второй - эталонным (MNEMONIC), по которому мы измеряем производительность. Пока существует эталонный тест, мой запрос работает и возвращает результаты. Однако, когда эталонный тест не существует (то есть потому, что он еще не определен), запрос вообще не возвращает результатов. Как я могу заставить его показывать результат для основного запаса (который всегда существует) при любых обстоятельствах?

Вот мой текущий SQL:

PARAMETERS strISIN Text ( 255 );
SELECT 
    tblFUNDS.ISIN, tblFunds_TS_Data.Date, tblFunds_TS_Data.Price, tblBM_Data.MNEMONIC, 
    tblBM_TS_Data.Date, tblBM_TS_Data.Price, RiskFreeReturn.F6 AS RiskFreeReturn_USD, 
    tblFUNDS.Fund_Selection
FROM 
    ((((tblFUNDS LEFT OUTER JOIN tblFunds_Data ON tblFUNDS.ISIN = tblFunds_Data.ISIN) 
        LEFT OUTER JOIN tblFunds_TS_Data ON tblFunds_Data.ISIN = tblFunds_TS_Data.ISIN) 
        LEFT OUTER JOIN tblBM_Data ON tblFUNDS.DS_Benchmark_Symbol = tblBM_Data.MNEMONIC) 
        LEFT OUTER JOIN tblBM_TS_Data ON tblBM_Data.MNEMONIC = tblBM_TS_Data.MNEMONIC) 
        LEFT OUTER JOIN RiskFreeReturn ON tblFunds_TS_Data.Date = RiskFreeReturn.F1
WHERE 
    (((tblFUNDS.ISIN)=[strISIN]) 
    AND ((tblFunds_TS_Data.Date)=[tblBM_TS_Data].[Date] 
        And (tblFunds_TS_Data.Date)>=#12/28/2013#) 
    AND ((tblFUNDS.Fund_Selection)=0))
ORDER BY tblFunds_TS_Data.Date;

Используйте left outer join в части, которая соединяется на основе mnemonic

Gabriele Petrioli 17.10.2018 08:25

Я добавил ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ, как вы предложили, но это не помогло отобразить записи: `LEFT OUTER JOIN tblBM_Data ON tblFUNDS.DS_Benchmark_Symbol = tblBM_Data.MNEMONIC) LEFT OUTER JOIN tblBM_blDNMata_Data_tblBM_blDNMata_Data_tblBM_blDNMata_Data_ `

rohrl77 17.10.2018 08:41
And (tblFunds_TS_Data.Date)>=#12/28/2013# - у вас не может быть критериев WHERE для таблиц на ВНЕШНЕЙ стороне объединений. Или хотя бы вам нужен OR ... IS NULL.
Andre 17.10.2018 09:32

@Andre Спасибо! Это сработало ... Я изменил его на: WHERE (((tblFUNDS.ISIN) = [strISIN]) AND ((tblFunds_TS_Data.Date) = [tblBM_TS_Data]. [Date] And (tblFunds_TS_Data.Date)> = # 12 / 28/2013 # Или [tblBM_TS_Data]. [Date] is Null) AND ((tblFUNDS.Fund_Selection) = 0))

rohrl77 17.10.2018 09:34

@Andre Пожалуйста, оставьте это как ответ, чтобы я мог принять его!

rohrl77 17.10.2018 09:35
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
5
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема заключалась в этом критерии WHERE в таблице на ВНЕШНЕЙ стороне LEFT JOIN:

And tblFunds_TS_Data.Date >= #12/28/2013#

Чтобы отфильтровать эту таблицу, вам нужно добавить OR ... IS NULL, чтобы запрос все еще мог включать записи, в которых ВНЕШНЯЯ сторона пуста:

And (tblFunds_TS_Data.Date >= #12/28/2013# OR tblFunds_TS_Data.Date IS NULL)

Другие вопросы по теме