У меня есть три таблицы, определенные как:запрос не возвращает ожидаемые результаты при включении в пустую таблицу
CREATE TABLE [garageInfo] (
[griId] int identity(1,1) NOT NULL,
[grId] int NOT NULL,
[shId] int NOT NULL,
[subEquipment] varchar(100) NULL,
[make] varchar(50) NULL,
[model] varchar(50) NULL,
[serialNo] varchar(50) NULL,
[pcr] varchar(50) NULL,
[mop] varchar(50) NULL,
[mopDesc] varchar(50) NULL
)
;
CREATE TABLE [car] (
[crId] int identity(1,1) NOT NULL,
[crDli] smallint NULL,
[crName] varchar(60) NULL
)
;
CREATE TABLE [garage] (
[grId] int identity(1,1) NOT NULL,
[grName] varchar(100) NOT NULL,
[grDli] smallint NULL,
[crId] int NOT NULL
)
;
В таблице garage
и car
содержит записи данных и возвращает ожидается, когда я запускаю следующий запрос.
select * from garage p, car m WHERE p.crId=m.crId
Но garageInfo
в настоящее время пуст, но будет заполняться с записями по времени, однако я следующий запрос, который я бегу, который дал мне 0
строки в свою очередь, как я ожидаю, что это даст мне это все столбцы garageInfo
как пустой и два столбца из других таблиц со своими значениями, но это не так.
select * from garage p, car m, garageInfo gr WHERE p.crId=m.crId AND gr.grId=p.grId
Может кто-нибудь, пожалуйста, помогите мне, что здесь не так?
[Плохие привычки пнуть: использование старого стиля JOIN и] (HTTP: //sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) - этот старый стиль * разделенный запятыми список таблиц * стиль был прекращен с ANSI - ** 92 ** Стандартом SQL (более ** 20 лет ** назад) –