0

考虑一个我有的情况:

CREATE TABLE COMMANDE(
   _ID INTEGER PRIMARY KEY AUTOINCREMENT, 
   login_id INTEGER NOT NULL 
   menu_id INTEGER NOT NULL, 
   FOREIGN KEY(login_id) REFERENCES LOGIN(_ID),
   FOREIGN KEY(menu_id) REFERENCES MENU(_ID)
)

对于这张桌子,我可以做:

// 第一个订单

INSERT INTO COMMANDE VALUES (0, 0, 0);

//二阶:

INSERT INTO COMMANDE VALUES (1, 0, 0);

// 三阶:不同的用户

INSERT INTO COMMANDE VALUES (2, 1, 0);

//第四顺序:不同的菜单项

INSERT INTO COMMANDE VALUES (3, 1, 1);

如何获取特定用户的详细信息?还是特定项目的详细信息?使用SELECT查询,因为这些表与约束链接...

可以做到吗?也许有一些INNER JOIN

4

2 回答 2

0
SELECT *
FROM COMMANDE C
LEFT JOIN LOGIN L ON (C.login_id = L._id)
LEFT JOIN MENU M ON (C.menu_id = M._id)
WHERE C.login_id = 1

像这样的东西?

于 2013-07-26T23:44:01.423 回答
0

要获取特定用户的详细信息:

SELECT m.*
FROM LOGIN l
JOIN COMMANDE c ON l._id = c.login_id
JOIN MENU m ON m._id = c.menu_id
WHERE l._id = 1
于 2013-07-26T23:50:39.250 回答