我必須構建一些複雜的mysql查詢。我有一個包含一些用戶信息的表格,包含3列:id,id_user,id_campo,valore。例如:構建多個MySql查詢條件
- 1,1,1,「Roberto」(其中id_campo = 1用於用戶名);
- 2,2,1,「Luca」;
- 3,1,2,「Windows」; (其中id_campo = 2用於所使用的OS);
- 4,2,2,「Linux」; 等。
現在,我有選擇的用戶其中:name = 「羅伯託」 和OS =的 「Linux」,但同樣的用戶:
SELECT id_user WHERE (id_campo=1 AND valore="Roberto") OR (id_campo=2 AND valore="Linux").
在此示例情況下,查詢返回id_user = 1和id_user = 2,但我不會得到任何結果。如何修改查詢,以便可以包含「同一用戶」的條件?
謝謝!
你知道數據庫建設是錯的,就在同一個表內連接?這不是關係數據庫/表應該如何工作的方式。對於不同的數據,您不使用多列關係使用相同的列。爲什麼你不能獲取匹配'id_user'的行? – junkfoodjunkie
爲什麼'FROM'操作符錯過? – RomanPerekhrest
爲什麼錯了?我有一個用戶表,一個「campo」表和一個「user_spec」表。因此,用戶可以擁有「campo」(「Name」,「OS」,「email」,)中包含的不同user_spec值(「Roberto」,「Luca」,「Windows」,「Linux」 ..)。如果它是錯誤的,我怎樣才能修改數據庫結構的最佳方式?謝謝 – cent89