This is what I have so far. I’m trying to join these two tables and if I do not use a using() function, then SQL tells me there is an invalid relational operator just simply using an ON. However using a “using” also throws an error that I did not end it properly. Any help would be nice, thanks.
DROP TABLE JOINED_TABLE; CREATE TABLE JOINED_TABLE AS SELECT * FROM H_SAMPLE50 H INNER JOIN D_SAMPLE50 D USING(ID_NBR) AND(H.PULL_DATE = D.PREV_DATE)
Advertisement
Answer
You have two choices. One is where:
SELECT *
FROM H_SAMPLE50 H INNER JOIN
D_SAMPLE50 D
USING (ID_NBR)
WHERE H.PULL_DATE = D.PREV_DATE;
The other is ON:
SELECT *
FROM H_SAMPLE50 H INNER JOIN
D_SAMPLE50 D
ON H.ID_NBR = D.ID_NBR AND H.PULL_DATE = D.PREV_DATE;
Think of USING as a short-hand to handle the case where all the JOIN keys have the same name. If this is not the case, then just use ON.