2011-02-01 36 views
0

我試圖編寫一個查詢,但不知道如何去做。PHP/MySQL聲明 - 從2個表中選擇記錄

基本上,我有與被叫auths中列的表中,這保持授權的用戶的用戶ID值和如下被格式化爲逗號分隔:

126,163,178 

在另一表是「用戶名」和該用戶的ID是上述值之一。

我想回顯出用戶名。

有人可以幫助我這個。

乾杯,

+0

我可以問你爲什麼選擇這個表結構嗎? – 2011-02-01 03:42:25

回答

0

你需要創建一個連接表WHT將有AUTHOR_ID和user_ID的領域,有腳本提取從逗號分隔領域的信息...

如果這不可能是考慮重建使用臨時表

0

在MySQL中,無法通過分隔符分割字符串。你必須使用兩個查詢。第一個查詢是從auths表中獲取所有ID。然後在您的應用程序中,以編程方式通過逗號分隔ID值。第二個查詢將從「用戶名」表中選擇所有行,其中用戶標識位於您擁有的標識列表中。

2

讓您擁有一個users表我會重構你的數據庫結構具有以下字段:

CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    name VARCHAR(100), 
    auth BOOL 
); 

有一個在打2個表,如果你能保持信息,這顯然是相關的,在一個沒有任何意義表。